Fișierul intrare/ieșire | rotk.in, rotk.out | Sursă | Cerc informatică Vianu |
---|---|---|---|
Autor | Cristian Frâncu | Adăugată de | Cristian Frâncu • francu |
Timp de execuție pe test | 0.3 sec | Limită de memorie | 1280 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Rotk (clasa a 5-a)
Notă: această problemă este un exercițiu de lucru cu vectori, în scop didactic.
Se dau două secvențe de n1 respectiv n2 elemente. Se citesc, de asemenea, alte trei valori, k1, k2 și k. Se cere să se afișeze o secvență care se obține pe baza secvențelor originale.
Cerință
- Să se rotească prima secvență cu k1 poziții spre începutul ei.
- Să se rotească a doua secvență cu k2 poziții spre începutul ei.
- Se consideră acum secvența obținută prin adăugarea celei de-a doua secvențe la prima, după rotații. Această secvență are n elemente, unde n = n1 + n2.
- Să se rotească această secvență cu k poziții spre începutul ei și să se afișeze.
Atenție! Nu aveți memorie decît pentru n elemente întregi!
Date de intrare
În fișierul de intrare rotk.in se află pe prima linie n1, apoi, pe a doua linie cele n1 elemente ale primei secvențe. Pe a treia linie se află valoarea k1. Pe a patra linie se află n2, iar pe a cincea linie se află cele n2 elemente ale celei de-a doua secvențe. Pe a șasea linie se află valoarea k2, iar pe a șaptea linie valoarea k.
Date de ieșire
În fișierul de ieșire rotk.out se vor afișa în ordine elementele secvenței obținute în final, după pasul 4.
Restricții
- 1 ≤ n1, n2 < 200 000
- 1 < n1 + n2 ≤ 200 000
- 0 ≤ k1 < n1
- 0 ≤ k2 < n2
- 0 ≤ k < n1 + n2
- elementele secvențelor sînt numere între 0 și 2 000 000 000
- atenție: nu puteți stoca elementele secvențelor decît o dată, deoarece nu aveți suficientă memorie
Exemple
rotk.in | rotk.out | Explicație |
---|---|---|
3 7 5 6 1 4 2 3 4 1 3 3 |
1 2 3 4 5 6 7 |
Prima secvență rotită cu 1: 5 6 7 A doua secvență rotită cu 3: 1 2 3 4 Secvența compusă prin adaugare: 5 6 7 1 2 3 4 Secvența rotită cu 3 1 2 3 4 5 6 7 |
8 1 3 2 4 7 8 9 5 3 4 9 8 7 6 2 3 |
9 5 1 3 2 7 6 9 8 4 7 8 |
Prima secvență rotită cu 3: 4 7 8 9 5 1 3 2 A doua secvență rotită cu 2: 7 6 9 8 Secvența compusă prin adaugare: 4 7 8 9 5 1 3 2 7 6 9 8 Secvența rotită cu 3 9 5 1 3 2 7 6 9 8 4 7 8 |