Ionel
este in clasa I, dar nu-i place sa lucreze la matematica, prefera sa se joace
cu cuburi. Plecand de la pasiunea lui Ionel, tatal sau incearca sa ii propuna
tot felul de probleme, pe care Ionel sa le rezolve fara sa-si dea seama ca de
fapt face si matematica. Intr-o zi, Ionel a construit n
turnuri formate din h1,
h2, ...,si respectiv
hn cuburi (fiecare
cub avand latura 1). Tatal
sau i-a propus: "Hai sa facem un zid de lungime n!
Alege niste turnuri dintre cele n
pe care le-ai construit astfel incat rearanjand cuburile din turnurile alese sa
poti obtine un zid de lungime n.
Zidul trebuie sa fie format din n
turnuri de aceeasi inaltime."
Cerinta
Scrieti
un program care sa citeasca n,
numarul de turnuri, precum si inaltimile turnurilor construite de Ionel si care
sa determine ce turnuri ar putea fi alese astfel incat sa obtinem un zid de lungime
n.
Date
de intrare
Fisierul
de intrare zid.in contine contine
pe prima linie un numar natural n
care reprezinta numarul de turnuri. Pe cea de a doua linie sunt scrise n
numere naturale separate prin cate un spatiu care reprezinta inaltimile celor
n turnuri.
Date
de iesire
Fisierul
de iesire zid.out va contine pe
prima linie un numar natural k,
care reprezinta numarul de turnuri alese pentru a construi zidul. Pe cea de
a doua linie vor fi scrise k numere
naturale separate prin cate un spatiu, reprezentand inaltimile celor
k turnuri alese pentru construirea zidului.
Restrictii
si precizari
0 <
n <= 1000
0
< hi <= 1000,
pentru orice i=1,
2, ..., n
Inaltimea
zidului construit trebuie sa fie cel putin egala cu 1.
Daca
exista mai multe solutii, veti afisa una dintre acestea.
Exemplu
zid.in
zid.out
Explicatie
5
4 7 4 2 1
3
7 2 1
Se
formeaza un zid de lungime n
si inaltime 2.
prof.
Marinel Serban Liceul
de Informatica "Grigore Moisil" Iasi
Contact:marinel_serban@yahoo.com