#1143
Considerând un șir de valori binare, numim secvență dominantă un set de elemente aflate pe poziții consecutive în șir care are proprietatea că numărul valorilor egale cu 1 este strict mai mare decât numărul valorilor de 0. De exemplu, în șirul 1,0,0,0,1,1,0,1,1,1,0,0 o secvență dominantă este 0,1,1 și o alta, de lungime mai mare, este 0,1,1,0,1,1,1. Secvența dominantă maximală este secvența dominantă de lungime maximă. În șirul din exemplu secvența dominantă maximală este 1,0,0,0,1,1,0,1,1,1,0 (adică întreg șirul, fără ultimul zero).
Dat fiind un șir de valori binare, să se determine lungimea unei secvențe dominante maximale precum și numărul acestor secvențe.
OJI 2015, Clasa a VIII-a
| Problema | Dominant | Operații I/O |
dominant.in/dominant.out
|
|---|---|---|---|
| Limita timp | 0.3 secunde | Limita memorie |
Total: 32 MB
/
Stivă 8 MB
|
| Id soluție | #62205724 | Utilizator | |
| Fișier | dominant.cpp | Dimensiune | 1.13 KB |
| Data încărcării | 13 Ianuarie 2026, 16:10 | Scor/rezultat | Eroare de compilare |
dominant.cpp: In function 'int main()': dominant.cpp:36:9: error: expected ';' before 'if' if (s[i] == '0') {a[i + 1]--;} ^ dominant.cpp:37:9: error: 'else' without a previous 'if' else {a[i + 1]++} ^ dominant.cpp:37:25: error: expected ';' before '}' token else {a[i + 1]++} ^ dominant.cpp:63:38: error: no matching function for call to 'min(long long int&, int&)' smallest = min(smallest, y.fi); ^ dominant.cpp:63:38: note: candidates are: In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from dominant.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&) min(const _Tp& __a, const _Tp& __b) ^ /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template argument deduction/substitution failed: dominant.cpp:63:38: note: deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int') smallest = min(smallest, y.fi); ^ In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from dominant.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare) min(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template argument deduction/substitution failed: dominant.cpp:63:38: note: deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int') smallest = min(smallest, y.fi); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Dominant 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ă.