Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | addk.in, addk.out | Sursă | EJOI 2021, ziua 1 |
Autor | Mihai Bunget | Adăugată de | |
Timp execuţie pe test | 0.5 sec | Limită de memorie | 262144 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Addk
Se consideră un şir A cu N elemente numere naturale A 1,. . ., A N si un număr natural K. Se cere să se proceseze Q cerinţe de următoarele două tipuri:
- 1 i1 i2,..., iK: se permută circular la stânga elementele şirului Ai1,..., AiK . Astfel noile valor ale elementelor Ai1, Ai2 , ..., AiK-1 , AiK vor fi Ai2 , Ai2 , ..., AiK , Ai1 . Remarcaţi că i1, i2,... , ik sunt distincte şi nu neapărat in ordine crescătoare.
- 2 l r m: se cere calculul sumei elementelor tuturor subsecvenţelor continue de lungime m din secvenţa $Al, Al+1,..., Ar-1, Ar-2. . Remarcaţi că elementele care apar în mai multe secvenţe vor fi adunate de mai multe ori.
Date de intrare
Prima linie a fişierul de intrare addk.in conţine două numere întregi, N şi K. A doua linie conţine N numere întregi: elementele vectorului A. A treia linie conţine un întreg Q, numărul de cerinţe, şi apoi Q linii conţinând cerinţele, care pot fi din cele două tipuri descrise mai sus.
Date de ieşire
În fişierul de ieşire addk.out ...
Restricţii
- ... ≤ ... ≤ ...
Exemplu
addk.in | addk.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...