Fișierul intrare/ieșire | cuburi.in, cuburi.out | Sursă | ONI 2012 clasa a 8-a |
---|---|---|---|
Autor | Daniela Tarasă | Adăugată de |
|
Timp de execuție pe test | 0.3 sec | Limită de memorie | 2048 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Cuburi (clasa a 8-a)
Notă: Această problemă a fost modificată, pentru clarificare. Părțile scrise italic sînt adăugate suplimentar.
Ionuț a învățat la școală să lucreze cu numere mari. El are la dispoziție un șir de N numere naturale nenule. Din fiecare număr el șterge exact trei cifre, fără să schimbe ordinea cifrelor rămase, astfel încât să obțină cel mai mic număr natural nenul posibil care nu începe cu zero. De exemplu, din numărul 20731049 se obține numărul 20049, iar din numărul 13004 se obține numărul 10. Înlocuind fiecare număr citit cu numărul obținut prin operația de mai sus, Ionuț obține un nou șir și scrie termenii acestuia pe fețele unor cuburi astfel: primele șase numere din șir le scrie pe primul cub și îl notează pe acesta cu 1, următoarele șase numere din șir le scrie pe un alt cub pe care îl notează cu 2 ș.a.m.d.
Aceste cuburi au fost distribuite în piramide după modelul din figura de mai sus. Piramidele au fost numerotate cu numere naturale consecutive. Piramida cu numărul de ordine 1 este formată numai din cubul cu numărul de ordine 1 și are un singur nivel, piramida cu numărul de ordine 2 are pe primul nivel cuburile 2, 3 și 4 iar pe ultimul nivel cubul 5 ș.a.m.d.
Două niveluri alăturate în cadrul unei piramide diferă prin exact două cuburi. Primul nivel al unei piramide conține cu două cuburi mai mult decât primul nivel al piramidei precedente. Piramida se consideră completă dacă pe ultimul nivel are un singur cub.
Cerință
Scrieți un program care citește numerele naturale nenule N și K, apoi cele N numere naturale ce fac parte din șirul inițial, și determină:
a) Numărul de piramide complete construite de Ionuț.
b) Numerele scrise pe cuburile din primele K piramide.
Date de intrare
Fișierul de intrare cuburi.in are două linii: prima linie conține două numere naturale, N și K, iar a doua linie conține N numere naturale. Pe fiecare linie a fișierului numerele sunt separate prin câte un spațiu.
Date de ieșire
Fișierul de ieșire cuburi.out are două linii: prima linie conține numărul de piramide complete care au fost construite, iar a doua linie conține toate numerele scrise pe cuburile ce formează primele K piramide. Numerele sunt scrise separate prin câte un spațiu, în ordinea apariției lor în șirul nou obținut.
Restricții
- 6 ≤ N ≤ 100000
- Se garantează că se pot construi cel puțin K piramide complete.
- Cele N numere naturale de pe a doua linie a fișierului de intrare au minimum patru cifre și maximum 9 cifre.
Exemplu
cuburi.in | cuburi.out | Explicații |
---|---|---|
31 2 18250 9280 18250 953805 20800 6040065 24208 4405 8794 1720 98886 96400 45544 8560056 36055 60400 80200 11560 36475 26992 68320 69400 20296 72640 34048 57700 66520 47440 91232 26080 90280 |
2 10 2 10 305 20 4005 20 4 4 1 86 40 44 5005 30 40 20 10 34 22 20 40 20 20 30 50 20 40 12 20 |
Primele 6 numere se găsesc pe cubul ce formează prima piramidă, următoarele 24 de numere sunt scrise, în această ordine, pe fețele cuburilor ce alcătuiesc a doua piramidă. Observație: în acest tabel, datorită spațiului insuficient, numerele nu apar scrise pe exact două linii, ca în fișierele de intrare/ieșire. |