#2470
Se dă un șir de caractere de lungime N format din litere mari ale alfabetului englez și un număr întreg K. Asupra șirului se poate aplica în mod repetat următoarea operație: se alege o subsecvență de lungime cel putin K având toate elementele egale și se elimină din șir. Evident că prima dată operația se aplică asupra șirului inițial și ulterior asupra șirului obținut din aplicarea operației anterioare. Operația se aplică până când șirul devine șirul vid (de lungime 0) sau șirul nu mai conține subsecvențe de lungime cel puțin K cu toate elemente egale.
Cunoscând N, K și șirul de caractere, să se determine care este lungimea minimă la care poate fi redus șirul după aplicarea operațiilor într-un mod convenabil.
ONI 2018 clasele XI-XII
| Problema | zuma | Operații I/O |
zuma.in/zuma.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 128 MB
/
Stivă 32 MB
|
| Id soluție | #62744571 | Utilizator | |
| Fișier | zuma.cpp | Dimensiune | 2.38 KB |
| Data încărcării | 31 Ianuarie 2026, 18:57 | Scor/rezultat | Eroare de compilare |
zuma.cpp: In function 'int dp(int, int, int)': zuma.cpp:52:10: error: 'class __gnu_pbds::gp_hash_table<long long int, int>' has no member named 'emplace' memo.emplace(key, best); ^ zuma.cpp: In function 'int main()': zuma.cpp:84:10: error: 'class __gnu_pbds::gp_hash_table<long long int, int>' has no member named 'rehash' memo.rehash(1<<20); ^ zuma.cpp:85:10: error: 'class __gnu_pbds::gp_hash_table<long long int, int>' has no member named 'max_load_factor' memo.max_load_factor(0.5f); ^ zuma.cpp:60:35: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("zuma.in", "r", stdin); ^ zuma.cpp:61:37: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("zuma.out", "w", stdout); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema zuma 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ă.