Fișierul intrare/ieșire | atlantis.in, atlantis.out | Sursă | Infotehnium 2019 clasa a 6-a avansati |
---|---|---|---|
Autor | Cristian Frâncu | Adăugată de | Cristian Frâncu • francu |
Timp de execuție pe test | 0.5 sec | Limită de memorie | 32768 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Atlantis (clasa a 6-a)
Atlantis este o insulă digitală formată din n munți înșiruiți de la stânga la dreapta. Munții au formă de cuburi lipite unul de altul. Ei au toți aceeași lățime, dar înălțimi diferite între ele, cunoscute, exprimate în metri de la nivelul apei. Munții sunt numerotați de la 1 la n. Unii locuitori au propus, pentru modernizare, schimbarea numelui insulei în Minecraftis, iar alții în Legolandis, dar nici una din denumiri nu a fost aprobată de OSIM.
Deoarece i-au supărat pe zei (gurile rele spun că l-au supărat de fapt pe Platon), insula a început să se scufunde! Ea se scufundă foarte repede, cu un metru la fiecare minut. Regele insulei vrea să salveze cât mai mulți locuitori și de aceea are nevoie de informații vitale.
Cerințe
Scrieți un program care, citind un număr natural nenul n, un șir de n numere reprezentând înălțimile munților și numărul k de minute determină:
- câți munți se vor afla sub apă după k minute (un munte este sub apă dacă apa a depășit înălțimea muntelui)
- numerele (indicii) munților în ordinea în care ei se scufundă
- pentru fiecare munte de la stânga la dreapta, al câtelea este el în ordinea de scufundare a munților.
Date de intrare
Fișierul de intrare atlantis.in conține pe prima linie un număr C. Pentru toate testele, C poate lua numai valorile 1, 2 sau 3. Pe a doua linie se află numerele n și k, iar pe a treia linie cele n numere naturale despărțite prin câte un spațiu.
Date de ieșire
Fișierul de ieșire atlantis.out va conține:
- dacă C=1, va conține un singur număr natural reprezentând numărul de munți aflați sub apă după k minute
- dacă C=2, va conține numerele (indicii) munților în ordinea lor de scufundare sub apă, separate prin spații
- dacă C=3, va conține pentru fiecare munte, de la stânga la dreapta, ordinea lui de scufundare, cele n numere fiind afișate cu spații între ele
Restricții
- 1 ≤ n ≤ 100 000
- 1 ≤ numerele din șir ≤ 100 000
- 0 ≤ k ≤ 2 miliarde
- Munții au înălțimi diferite între ele
- Pentru rezolvarea corectă a primei cerințe se acordă 20 de puncte, pentru rezolvarea corectă a celei de a doua cerințe se acordă 40 de puncte, iar pentru rezolvarea corectă a celei de a treia cerințe se acordă 40 de puncte.
- Dimensiunea maximă a sursei: 15KB
Exemple
atlantis.in | atlantis.out | Explicație |
---|---|---|
1 10 8 13 9 3 12 1 4 10 8 16 2 |
4 |
Explicație: După 8 minute 4 munți vor fi acoperiți cu apă, cei cu înălțimile de 1, 2, 3, respectiv 4 (C fiind 1, se rezolvă doar prima cerință) |
2 10 8 13 9 3 12 1 4 10 8 16 2 |
5 10 3 6 8 2 7 4 1 9 |
Explicație: Munții se scufundă în astfel: întâi al cincilea munte (înălțime 1), apoi cel cu numărul 10 (înălțime 2), apoi cel cu numărul 3 (înălțime 3), apoi cel cu numărul 6 (înălțime 4) și așa mai departe. (C fiind 2, se rezolvă doar a doua cerință) |
3 10 8 13 9 3 12 1 4 10 8 16 2 |
9 6 3 8 1 4 7 5 10 2 |
Explicație: Primul munte (înălțime 13) se va scufunda al nouălea, al doilea munte (înălțime 9) se va scufunda al șaselea, al treilea munte (înălțime 3) se va scufunda al treilea, și așa mai departe. (C fiind 3, se rezolvă doar a treia cerință) |