.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » cuburi4

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
cuburi4


Timp maxim de execuţie / test:
0.3s
Memorie totala disponibilă / stivă:
2MB / 1MB

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. 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 cuburi4.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 cuburi4.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.

Exemple

cuburi4.incuburi4.outExplicaţ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.

autor: Prof. Daniela Tarasă
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Probleme recomandate
De la ONI 2012: culegere, culori2, stele1, cartier, medalion, numar5, bile6, proiecte, zigzag, alune, optim, cifreco, patru, puncte5, unuzero, sstabil, palindrom1, intersectii, copaci2, 7segmente, amedie, cutie1, drept2, gheizere, plus, poly, minerale
De acelaşi autor: fagure, speciale
Despre vector: trei, simetric, egal, ruleta, pod, uscat, afise, an, bunici, cursa, onu, tramvai, cadou, kpal, expresie, piticot, roci, petrol, grad, ruleta2, ecran, palma, concurs, holo, ab2, tren2, cifre, mgo, firma, anagrame, joc2, br, maxim, astre, numere2, baby, zapada, hd, startrek, vecini2, drept, teatru, tir, patrate2, nr, cifra, repeat, unu, criptare, ratb, placi, sume3, turist, matrice3, pavaj, sume, kafka, bacan, spair, grup, friends2, bitslang, fisc, scor2, cat, nr3, chimie2, zid, politics, submat, reteta2, rezervatie, creioane, felinare, 2numere, exp, scoici, patrate1, playlist, sqr, carte, oua, turn, ants, div3, jeton, politic, trecere, maraton, zaruri, suma1, mere1, agitatie, lacuri, secv, sotron, triunghi, carti1, spioni, kalah, excursia, matricea, maxq, oras, furnici, baschet, ingerasi, numar1, prieteni, aritma, cezar, bifo, pal, seceta, bare, soricel1, antena, avere, paianjen, bloc, schi, suma3, fractie, tunel, pepsi, prefix, tren3, avion, premii1, csir, top, bsir, secvente, cod4, cuburi3, limbaj, panouri, sant1, zumzi, sport1, baschet1, mere3, powerpuff, placare, sir4, volei1, tabel, ocr, numere7, lacusta, flori, pluton, elfi, mare, grupe1, maroco, cartonas, cabina, case, cod5, furnica, numere8, paritate, comoara1, exponent, control, exp1, joc13, popas, reactivi, siruri1, vanatoare, submult, text1, taxe1, visul, paranteze, puncte3, cub3, numere9, panglica, pietre, poartas, sume2, bal, secvsir, vot, prefix1, accesibil, palc, standard, bursa, meteo, jetoane, printesa, palindrom, joker, matriosca, loto, cuvant, cladiri1, secvente1, zar, tren4, asociativ, lego, medalii, figura, joc14, neuroni, char, dartz, turism1, calorii, xor1, paltrei, album, livada1, colorare, greutati, brazi, submatrix1, plaja, cd1, cifru3, permutare, miere, tetris1, conferinta, atelier, radical, bileprime, nx, atletism, sumb, minmax, sumacifre, jocprim, sircifre, cmmdcsecv, secvb, siruri3, cifru4, vase, carte1, grad1, litere, magic6, macheta, butoane, ec, stalpi2, fagure, goe, papusa, taburet, mesaj3, zar1, joc16, talent, joc18, cos, punctfix, risipa, liste, triburi, nr0, oneton, nor, nrpomi, paisprezece, anagramabil, zuma, joc20, dale, perechi2, consiliu, becuri2, codpatrat, adprod, qtri, reconst, arme, triunghi4, deal, ozn1, cifru5, flori1, elicop, roata, trifoi, maxbin, culori2, numar5, bile6, proiecte, alune, sstabil, intersectii, copaci2, 7segmente, amedie, drept2, divider, eliminare, matd3, prodnr, fraze, vectori1, compar, unific, galbeni, clepsidru, calcule, puncte6, maxp, cursa1, secvp, swap, extraprime, onigim, divizori1, remi1, tetris3, amestec, eoliene, split, momente, secvente2, ausoara, aranjare2, vintage, binremove, sminus, subsets, interclasare, palindromuri, colina, doitrei, rebus1, tcif, munte3, triunghi6, schi1, rascoala, solitar, praslea, vot2, tema, sprime, sir2dif, aperm, unudoi, prajituri, tan, concurs4, ech, arc, dominant, ordine, tv1, nebuni, sort2dist, lightbot, iepuras1, castig
Despre cifre: cifre1, div3, aparitii, numar1, prieteni, robinson, aritma, cezar, pal, suma2, cod4, powerpuff, ucif, sir4, numere6, pluton, mare, cifre2, ceas2, cod5, paritate, test1, comoara1, cifre3, concurs3, control, submult, visul, codul, numere9, sume2, smith, secvsir, prefix1, fazanr, prodmax, palindrom, control1, paltrei, alo, cifra1, case1, pin, sumacifre, triplu, goe, talent, copii, cifre4, nr0, anagramabil, codcorect, test2, bancomat, sume4, alice, culegere, numar5, cifreco, 7segmente, unupatru, xyz, unific, galbeni, cladiri2, extraprime, momente, palindromuri, conturi, numere12, imprimanta, martisoare, cifre5, pagini, tan, centrale, ech, speciale, cuart, inventie, robot5
surse trimise | ajutor