Fișierul intrare/ieșire cuburi.in, cuburi.out Sursă ONI 2012 clasa a 8-a
Autor Daniela Tarasă Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 0.3 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip emptystea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

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.

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 5 categorii