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

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


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

Se consideră un şir A format din N elemente naturale nenule. Numim secvenţă de lungime K a şirului A orice succesiune de elemente consecutive din şir de forma Ai, Ai+1,…, Ai+K-1.
O secvenţă o numim secvenţă cool dacă elementele care o compun sunt distincte şi pot fi rearanjate astfel încât să alcătuiască o secvenţă continuă de numere consecutive.
De exemplu, considerând şirul A=(3,1,6,8,4,5,6,7,4,3,4), atunci secvenţa (8,4,5,6,7) este o secvenţă cool deoarece conţine elemente distincte ce pot fi rearanjate astfel încât să alcătuiască şirul de numere consecutive 4,5,6,7,8, pe când secvenţele (4,3,4), (6,7,4,3) nu sunt considerate secvenţe cool.

Cerinţă

Fiind dat un şir de N numere naturale nenule se cer următoarele:
1. Pentru o valoare dată K să se verifice dacă secvenţa A1, A2,…, AK este secvenţă cool. Dacă secvenţa este cool, atunci se va afişa cea mai mare valoare ce aparţine secvenţei. Dacă secvenţa nu este cool, atunci se va afişa numărul elementelor distincte din secvenţa A1, A2,…, AK, adică numărul elementelor care apar o singură dată.
2. Lungimea maximă a unei secvenţe cool şi numărul secvenţelor cool de lungime maximă.

Date de intrare

Fişierul de intrare cool.in conţine pe prima linie un număr natural p. Pentru toate testele de intrare, numărul p poate avea doar valoarea 1 sau valoarea 2. Pe linia a doua se găsesc, despărţite printr-un spaţiu, două numere naturale N K. Pe următoarea linie se găsesc N numere întregi, separate prin câte un spaţiu, ce reprezintă elementele şirului.

Date de ieşire

Dacă valoarea lui p este 1, atunci se va rezolva numai punctul 1 din cerinţă. În acest caz, fişierul de ieşire cool.out va conţine pe prima linie un număr natural, număr ce reprezintă conform cerinţei 1, maximul secvenţei A1, A2,…, AK, dacă secvenţa este secvenţă cool, sau numărul elementelor distincte din secvenţă, dacă aceasta nu este secvenţă cool.
Dacă valoarea lui p este 2, se va rezolva numai punctul 2 din cerinţă. În acest caz, fişierul de ieşire cool.out va avea două linii. Prima linie va conţine un număr natural nenul ce reprezintă lungimea maximă a unei secvenţe cool, iar următoarea linie un număr natural nenul ce reprezintă numărul de secvenţe cool care au lungimea maximă.

Restricţii

1 ≤ N ≤ 5000
2 ≤ K ≤ 1000
1 ≤ Ai ≤ 1000, 1 ≤ i ≤ N

Exemple

cool.incool.outExplicaţii
1 7 4 6 4 5 7 8 3 5 7 Atenţie! Pentru acest test se rezolvă doar cerinţa 1.
Secvenţa 6 4 5 7 este cool.
Valoarea maximă din secvenţă este 7
1 7 6 6 4 5 7 5 4 3 2 Atenţie! Pentru acest test se rezolvă doar cerinţa 1.
Secvenţa 6 4 5 7 8 4 nu este secvenţă cool. Numărul valorilor distincte din secvenţă este 2. Valorile distincte sunt: 6,7
2 11 4 7 4 5 6 8 4 5 7 4 3 2 5 2 Atenţie! Pentru acest test se rezolvă doar cerinţa 2.
Cele două secvenţe cool de lungime maximă 5 sunt:
7 4 5 6 8
6 8 4 5 7

autor: Prof. Eugen Nodea
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Probleme recomandate
surse trimise | ajutor