Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2021-08-28 15:47:00.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:addk.in, addk.outSursăEJOI 2021, ziua 1
AutorMihai BungetAdăugată decadmium_Voicu Mihai Valeriu cadmium_
Timp execuţie pe test0.5 secLimită de memorie262144 kbytes
Scorul tăuN/ADificultateN/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 trebuie să conţină răspunsurile la cerinţele de tip 2, câte unul pe linie

Restricţii

  • 0 ≤ Ai ≤ 10{6}
  • 1 ≤ l ≤ r ≤ N
  • 1 ≤ m ≤ r - l + 1
  • În plus:
#PunctajRestricţii
1361 ≤ N,Q ≤ 10 000 , K = 1
25610 001 ≤ N,Q ≤ 100 000, K = 1
381 ≤ N,Q ≤ 100 000, 2 ≤ K ≤ 10

Exemplu

addk.inaddk.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?