#1655
Fiind dat un şir de numere, denumim secvenţă a acestuia o parte dintre termenii şirului luaţi de pe poziţii consecutive. Denumim platou al acestui şir o secvenţă formată din valori identice. Lungimea unui platou este egală cu numărul de elemente care îl formează.
De exemplu, în şirul de numere 1 1 1 7 7 3 4 4 4 7 7 avem:
1 1 1 şi 4 4 4 ambele având lungimea 3;7 7 (cel care începe în poziţia a patra) şi 7 7 (cel care începe pe poziţia a zecea), ambele având lungimea 2;3 care are lungimea 1.În schimb nu avem platoul 7 7 7 7 deoarece cele patru elemente egale cu 7 nu sunt pe poziţii consecutive!
Se dă un şir de n numere. Fiecare dintre aceste numere aparţine intervalului [0,1000000]. Asupra acestui şir se pot efectua o singură dată următoarele două operaţiuni în această ordine:
De exemplu, dacă avem următorul şir inițial: 2 2 5 0 5 8 8 8 4 9 9 9 0 0 2 2 8 extragem platoul 2 2 format din elementele aflate în penultima şi antepenultima poziţie şi obţinem şirul: 2 2 5 0 5 8 8 8 4 9 9 9 0 0 8
În şirul rezultat inserăm platoul 2 2 (pe care l-am extras în pasul anterior) în poziţia a doua şi obţinem şirul: 2 2 2 2 5 0 5 8 8 8 4 9 9 9 0 0 8
Să se scrie un program care pentru un şir dat determină:
Concursul Interjudeţean de Matematică şi Informatică Grigore Moisil, 2016
| Problema | Platou | Operații I/O |
platou.in/platou.out
|
|---|---|---|---|
| Limita timp | 1.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 64 MB
|
| Id soluție | #63695485 | Utilizator | |
| Fișier | platou.cpp | Dimensiune | 847 B |
| Data încărcării | 15 Martie 2026, 16:09 | Scor/rezultat | 12 puncte |
platou.cpp: In function 'int main()': platou.cpp:9:15: warning: unused variable 'j' [-Wunused-variable] int n,k,i,j,l,lmax,val; ^ platou.cpp:37:24: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized] fo<<l<<" "<<val; ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0 secunde | Raspuns gresit. | 2 | 0 | ||
| 2 | 0 secunde | OK. | 2 | 2 | ||
| 3 | 0 secunde | OK. | 2 | 2 | ||
| 4 | 0 secunde | OK. | 2 | 2 | ||
| 5 | 0 secunde | OK. | 2 | 2 | ||
| 6 | 0.064 secunde | OK. | 2 | 2 | ||
| 7 | 0.004 secunde | Raspuns gresit. | 2 | 0 | ||
| 8 | 0.016 secunde | Raspuns gresit. | 2 | 0 | ||
| 9 | 0.096 secunde | OK. | 2 | 2 | ||
| 10 | 0 secunde | Raspuns gresit. | 8 | 0 | ||
| 11 | 0 secunde | Raspuns gresit. | 8 | 0 | ||
| 12 | 0 secunde | Raspuns gresit. | 8 | 0 | ||
| 13 | 0 secunde | Raspuns gresit. | 8 | 0 | ||
| 14 | 0 secunde | Raspuns gresit. | 8 | 0 | ||
| 15 | 0 secunde | Raspuns gresit. | 8 | 0 | ||
| 16 | 0 secunde | Raspuns gresit. | 8 | 0 | ||
| 17 | 0 secunde | Raspuns gresit. | 8 | 0 | ||
| 18 | 0 secunde | Raspuns gresit. | 8 | 0 | ||
| 19 | 0 secunde | Raspuns gresit. | 8 | 0 | ||
| 20 | 0 secunde | Raspuns gresit. | 2 | 0 | ||
| Punctaj total | 12 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Platou face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.