| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 10 초 | 1024 MB | 0 | 0 | 0 | 0.000% |
Bajtosia prowadzi biuro podróży. Nie jest to łatwy biznes, szczególnie w dzisiejszych czasach, dlatego trzeba wprowadzać nowe akcje i promocje. Bajtosia zdecydowała się zorganizować serię N jednodniowych wycieczek, po jednej na każdy z N dni wakacji. Przygotowana wycieczka na i-ty dzień ma koszt Ai (dla i = 1, 2, . . ., N).
Bajtosia zauważyła, że wszyscy klienci mają bardzo podobne potrzeby. Wszyscy klienci decydują się na kupno dokładnie jednej wycieczki. Każdy klient ma pewien przedział czasu, kiedy jest na urlopie i chciałby kupić wycieczkę pomiędzy pewnymi dniami Lj a Rj (włącznie). Każdy klient ma także bon turystyczny o pewnym koszcie Vj, który pozwala mu pokryć koszt tej wycieczki. Aby bon można było wykorzystać w całości (i nic się nie zmarnowało), klient chciałby kupić wycieczkę która jest warta więcej niż Vj.
Bajtosia także podzieliła swoich klientów na dwie kategorie:
Bajtosia teraz chciałaby przyśpieszyć obsługę klientów i stworzyć system, którzy pomoże obsługiwać zapytania. Dodatkowo, czasami koszty wycieczek się zmieniają (z przyczyn niezależnych od Bajtosi) i jej system musi obsługiwać także zmiany kosztów wycieczek.
Napisz program, który wczyta początkowe ceny wycieczek, zapytania klientów oraz zmiany cen, obliczy najlepszy dzień na wycieczkę dla każdego klienta i wypisze wyniki na standardowe wyjście.
W pierwszym wierszu wejścia znajdują się dwie liczby naturalne N oraz Q (1 ≤ N, Q ≤ 200 000), określające kolejno: liczbę wycieczek będącą jednocześnie liczbą dni wakacji oraz liczbę zapytań klientów wraz ze zmianami cen. W drugim wierszu wejścia znajduje się ciąg N liczb naturalnych Ai (0 ≤ Ai ≤ 109), gdzie Ai oznacza początkową ceny wycieczki zaplanowanej na i-ty dzień.
W kolejnych Q wierszach znajdują się kolejne zdarzenia.
najszybciej, a po nim trzy liczby całkowite Lj, Rj oraz Vj (1 ≤ L ≤ Rj ≤ N, 0 ≤ Vj ≤ 109) oznaczające kolejno pierwszy i ostatni dzień urlopu danego klienta oraz wartość jego bonu.najtaniej, a po nim trzy liczby całkowite Lj, Rj oraz Vj ze znaczeniem oraz ograniczeniami jak wyżej.zmiana, a po nim dwie liczby całkowite Dj oraz Cj (1 ≤ Dj ≤ N, 0 ≤ Cj ≤ 109), które oznaczają, że cenę wycieczki dnia Dj należy zmienić na Cj.Twój program powinien wypisać odpowiedzi dla zdarzeń typu najszybciej oraz najtaniej zgodnie z kolejnością ich występowania na wejściu w osobnym wierszach.
Jeżeli nie istnieje żadna wycieczka spełniająca warunki klienta, należy zamiast tego wypisać NIE.
6 5 3 2 4 2 9 1 najtaniej 2 5 3 najszybciej 3 4 3 najtaniej 1 6 9 zmiana 4 10 najtaniej 1 6 9
3 3 NIE 4
Wyjaśnienie do przykładu: Początkowo ceny wycieczek w kolejnych dniach to [3, 2, 4, 2, 9, 1], mamy Q = 6 zdarzeń.
NIE.4 6 7 3 1 2 najtaniej 1 2 0 najtaniej 2 3 0 najtaniej 3 4 0 najszybciej 1 2 0 najszybciej 2 3 0 najszybciej 3 4 0
2 3 3 1 2 3