Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | subsir2.in, subsir2.out | Sursă | preONI 2006 Runda 3 |
Autor | Mircea Bogdan Pasoi | Adăugată de | |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
Subsir 2
Bronzarel se antreneaza zi de zi pentru a deveni un mare olimpic la informatica, avandu-l pe Zaharel ca mentor. Desigur, sursa lor preferata de probleme este info-arena! Vazandu-l foarte increzator, Zaharel vrea sa-l testeze pe Bronzarel cu o noua problema si ii spune: "Iti dau un sir de N numere intregi si vreau sa imi spui care este cel mai scurt subsir crescator maximal."
Cerinta
Scrieti un program care rezolva problema primita.
Date de intrare
Pe prima linie din fisierul subsir2.in se va gasi numarul N. Pe urmatoarea linie vor fi scrie N numere intregi.
Date de iesire
Prima linie din fisierul subsir2.out va contine un numar Lmin, reprezetand lungimea minima a unui subsir crescator maximal. Pe urmatoarea linie se vor afisa Lmin numere in ordine crescatoare, reprezetand poziitile elementelor din sirul initial care fac parte din subsirul ales. Daca exista mai multe solutii, se va afisa cea lexicografic minima, din punct de vedere al valorilor elementelor din subsir.
Restrictii si observatii
- 1 ≤ N ≤ 5 000
- 50% din teste vor avea N ≤ 500
- Sirul dat va contine numere intregi din intervalul [-1 000 000, 1 000 000]
- Considerand ca sirul dat este A=(a1,a2...aN), se numeste subsir al lui A un sir B=(bi1,bi2...biN) cu proprietatea 1 ≤ i1 < i2 < ... < iK ≤ N.
- Spunem ca un subsir B=(bi1,bi2...biN) este crescator maximal daca ai1 ≤ ai2 ≤ ... ≤ aiK si nu exista nici un x astfel incat: sa existe j < K, ij < x < ij+1 si aij ≤ ax ≤ aij+1, sau 1 ≤ x < i1 si ax ≤ ai1 sau iK < x ≤ N si aiK <= ax
- Pentru fiecare test se va acorda 40% din punctaj pentru determinarea corecta a lungimii subsirului, inca 40% pentru determinarea unei solutii corecte, si inca 20% daca solutia determinata este minima din punct de vedere lexicografic
- Un sir (x1,x2...xK) este mai mic din punct de vedere lexicografic decat un alt sir (y1,y2...yK) daca exista o pozitie p astfel incat xp < yp si x1 = y1, x2 = y2 ... xp-1 = yp-1.
Exemplu
subsir2.in | subsir2.out |
---|---|
6 1 3 6 2 5 4 | 3 1 4 6 |
Explicatie: Subsirul cu elemente pe poziiile 1,4,6 este (1,2,4). Acesta este maximal si are lungime minima. Alte subsiruri maximale de aceeasi lungime sunt:
(1,2,5)
(1,3,4)
(1,3,5)
Solutia data este minima lexicografic din punct de vedere al valorilor elementelor subsirului.