#4140
Dacă vrei să-ți schimbi buletinul trebuie să mergi la Serviciul de Evidență a Populației. Acolo trebuie să iei un număr de ordine și să aștepți să-ți vină rândul. Numerele de ordine sunt emise de un robot, în ordinea 1,2,3,... Programatorul Vasile, care a elaborat soft-ul pentru robot și care asigură (contra cost) întreținerea sistemului, a creat intenționat un bug în sistem. Vasile are un număr natural preferat N. Un număr de ordine x va fi emis dacă și numai dacă x este un subșir al lui N (adică toate cifrele lui x apar în N în ordinea din x, nu neapărat pe poziții consecutive). Dacă numărul de ordine curent x nu îndeplinește această condiție, robotul se blochează și nu mai emite numere de ordine. Scrieți un program care, cunoscând valoarea lui N, numărul natural preferat de Vasile, rezolvă următoarele două cerințe:
1. determină câte cifre are numărul de ordine x care conduce la blocarea robotului;
2. determină numărul de ordine x care conduce la blocarea robotului.
ONI 2022, baraj juniori
| Problema | bug | Operații I/O |
bug.in/bug.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 128 MB
/
Stivă 64 MB
|
| Id soluție | #58772987 | Utilizator | |
| Fișier | bug.cpp | Dimensiune | 1.01 KB |
| Data încărcării | 05 August 2025, 17:49 | Scor/rezultat | 17 puncte |
bug.cpp: In function 'bool isSubsequence(const string&, const string&)': bug.cpp:7:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while (i < N.size() && j < x.size()) { ^ bug.cpp:7:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while (i < N.size() && j < x.size()) { ^ bug.cpp:11:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] return j == x.size(); ^ bug.cpp: In function 'int main()': bug.cpp:18:34: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("bug.in", "r", stdin); ^ bug.cpp:19:36: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("bug.out", "w", stdout); ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0 secunde | OK. | 1 | 1 | ||
| 2 | 0 secunde | OK. | 4 | 4 | ||
| 3 | 0 secunde | OK. | 5 | 5 | ||
| 4 | 0 secunde | OK. | 3 | 3 | ||
| 5 | 0.02 secunde | OK. | 2 | 2 | ||
| 6 | 0.008 secunde | OK. | 2 | 2 | ||
| 7 | 0.48 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 8 | 0.444 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 9 | 0.436 secunde | Caught fatal signal 11 | 1 | 0 | ||
| 10 | 0.436 secunde | Caught fatal signal 11 | 1 | 0 | ||
| 11 | 0.448 secunde | Caught fatal signal 11 | 1 | 0 | ||
| 12 | 0.436 secunde | Caught fatal signal 11 | 1 | 0 | ||
| 13 | 0.448 secunde | Caught fatal signal 11 | 1 | 0 | ||
| 14 | 0.44 secunde | Caught fatal signal 11 | 1 | 0 | ||
| 15 | 0.448 secunde | Caught fatal signal 11 | 2 | 0 | ||
| 16 | 0.444 secunde | Caught fatal signal 11 | 1 | 0 | ||
| 17 | 0.444 secunde | Caught fatal signal 11 | 2 | 0 | ||
| 18 | 0.448 secunde | Caught fatal signal 11 | 2 | 0 | ||
| 19 | 0.436 secunde | Caught fatal signal 11 | 2 | 0 | ||
| 20 | 0.44 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 21 | 0.488 secunde | Caught fatal signal 11 | 2 | 0 | ||
| 22 | 0.44 secunde | Caught fatal signal 11 | 2 | 0 | ||
| 23 | 0.432 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 24 | Depășit | Limita de timp depășită | 2 | 0 | ||
| 25 | 0.436 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 26 | 0.476 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 27 | 0.496 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 28 | 0.44 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 29 | 0.436 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 30 | 0.436 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 31 | 0.444 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 32 | 0.444 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 33 | 0.44 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 34 | 0.44 secunde | Caught fatal signal 11 | 2 | 0 | ||
| 35 | 0.444 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 36 | 0.432 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 37 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 38 | 0.432 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 39 | 0.44 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 40 | 0.44 secunde | Caught fatal signal 11 | 3 | 0 | ||
| 41 | 0.436 secunde | Caught fatal signal 11 | 3 | 0 | ||
| Punctaj total | 17 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema bug 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ă.