시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 1 | 1 | 1 | 100.000% |
Mamy podany ciąg n liczb całkowitych a1, a2, ..., an z przedziału [0, k-1]. Twoim zadaniem jest wykonanie na tym ciągu m operacji polegających na:
W pierwszym wierszu wejścia znajdują się cztery liczby całkowite n, k, m (1 ≤ n ≤ 100 000, 1 ≤ k ≤ 10, 1 ≤ m ≤ 100 000). W kolejnym wierszu znajduje się n liczb całkowitych a1, a2, ..., an (0 ≤ ai ≤ k - 1), gdzie ai oznacza i-ty element ciągu. Następnych m wierszy opisuje kolejne zapytania.
Na początku każdego zapytania pojawi się liczba zi, oznaczająca rodzaj zapytania. Jeżeli zi = 1, to jest to zapytanie o sumę elementów. Wówczas po liczbie zi pojawią się dwie liczby całkowite c, d. Natomiast jeżeli zi = 2, to zapytanie oznacza zmianę elementów w przedziale i po liczbie zi pojawią się trzy liczby całkowite c, d, l (1 ≤ c ≤ d ≤ n, 0 ≤ l ≤ k - 1), oznaczające liczby potrzebne do wykonania danej operacji.
Dla każdej operacji sumowania należy wypisać w oddzielnym wierszu obliczony wynik.
4 3 6 0 0 0 0 2 1 1 1 1 1 4 2 1 2 1 1 1 4 2 1 3 1 1 1 4
1 3 3