Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | razboi2.in, razboi2.out | Sursă | Lista lui Francu |
Autor | Cristian Cadar | Adăugată de | |
Timp execuţie pe test | 0.025 sec | Limită de memorie | 4736 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Razboi 2
In timpul razboiului, impartirea hranei poate crea numeroase probleme. Se stie ca fiecare soldat poate cara un anumit numar de pachete de hrana. Pentru a nu se crea conflicte, soldatii trebuie impartiti in b bastioane, astfel incat, in cazul distrugerii primelor d bastioane (pentru orice d de la 0 la b-1) proviziile de hrana din bastionul d+1 sa poata fi impartite in mod exact la numarul de soldati ramasi.
Cerinta
Dandu-se N soldati, acestia trebuie impartiti in b bastioane, bastioane ce vor fi plasate de-a lungul frontului de lupta.
Date de intrare
In fisierul razboi2.in se afla pe prima linie N, iar pe linia urmatoare se gasesc N valori reprezentand numarul de pachete de hrana carate de fiecare soldat.
Date de iesire
Fisierul razboi2.out va contine b linii (b numarul de bastioane).Pe linia i se vor scrie datele despre bastionul i. Datele despre un bastion vor fi de forma x<sub>i1</sub>, x<sub>i2</sub>, ..., x<sub>ir</sub>, unde i1, i2, ...., ir sunt soldatii grupati in respectivul bastion.
Restrictii
- 1 ≤ N ≤ 1000
- Un soldat va cara cel putin un pachet de hrana si cel mult 1000 de pachete
Exemplu
razboi2.in | razboi2.out |
---|---|
6 4 2 3 9 10 3 | 9 3 4 10 2 3 |
Explicatie
Avem 6 soldati care cara cantitatile 4, 7, 3, 9, 10 si respectiv 3 pachete de hrana. Acestia au fost impartiti in 4 bastioane, astfel: In primul bastion se afla 2 soldati,unul carand 9 pachete de hrana, sicelalalt 3 pachete. Analog in bastionul 2 se afla un singur soldat care cara 4 pachete, in bastionul 3 se afla 2 soldati ce cara 10 respectiv 2 pachete, iar in bastionul 4 se afla un singur soldat ce cara 3 pachete.