Adela lucrează la un laborator de cofetărie. Ea trebuie să pregătească două torturi de nuntă şi în acest scop va folosi blaturi de tort. Blaturile de tort au formă cilindrică, având toate aceeaşi înălţime, eventual diametre diferite. Blaturile ies pe rând din cuptor. Când un blat iese din cuptor, Adela îl va aşeza deasupra uneia dintre cele două stive de blaturi aflate pe cele două tăvi pe care se pregătesc torturile.
Blaturile diferă între ele prin rezistenţa la presiune. Rezistenţa unui blat creşte odată cu creşterea diametrului. Astfel, un blat va suporta deasupra sa oricâte alte blaturi cu diametre mai mici sau egale cu diametrul său. Pe de altă parte, dacă se aşează un blat de diametru deasupra altuia de diametru mai mic, atunci atât blatul aflat imediat dedesubt, cât şi toate blaturile din tort cu diametrul mai mic decât vor colapsa. Blatul de diametru se va stabiliza pe un blat cu diametru mai mare sau egal cu al său sau după caz, pe fundul tăvii.
Adela trebuie să folosească toate cele blaturi pentru pregătirea celor două torturi, şi să le aşeze pe cele două tăvi, în ordinea în care blaturile ies din cuptor. Dorinţa Adelei este ca numărul total de blaturi care nu vor colapsa în cele două torturi să fie maximă.
Cerinţă
Cunoscând diametrele blaturilor şi ordinea în care acestea ies din cuptor, să se determine numărul maxim de blaturi care nu vor colapsa.
Date de intrare
Fişierul de intrare torturi.in
conține pe prima linie numărul natural , reprezentând numărul de blaturi. Pe linia a doua se află valori naturale: , nu neapărat distincte, separate prin câte un spațiu, reprezentând diametrele blaturilor de tort, în ordinea în care acestea ies din cuptor.
Date de ieșire
Fişierul de ieșire torturi.out
conţine pe prima linie un număr natural care reprezintă numărul maxim de blaturi care nu vor colapsa în cele două torturi.
Restricţii şi precizări
- Un blat de tort nu poate fi aşezat în altă parte decât peste un alt blat așezat anterior sau direct pe una dintre cele două tăvi, dacă pe tavă nu s-a așezat încă un blat.
Exemplul 1
torturi.in
5
1 3 4 2 1
torturi.out
4
Explicaţie
Prima variantă de plasare optimă a blaturilor este: pentru primul tort şi pentru al doilea tort. Primul blat care iese din cuptor, de diametru va colapsa.
A doua variantă este: pentru primul tort şi pentru al doilea tort.
Exemplul 2
torturi.in
5
3 5 3 2 4
torturi.out
5
Explicaţie
Singura variantă de plasare optimă a blaturilor este: pentru primul tort şi pentru al doilea tort. Niciun blat nu colapsează.