#4816
Dexter și-a deschis un laborator nou în care vrea să efectueze o serie de experimente pe șoareci pentru a descoperi leacul pentru cancer. În laborator există N șoareci, care se află așezați într-un cerc și sunt numerotați în ordine de la 0 la N-1. Dexter efectuează, pe rând, M experimente. Pentru fiecare experiment șoarecii care participă la al i-lea experiment formează întotdeauna un interval continuu, exprimat sub forma unei perechi de numere (S[i], F[i]), având semnificația:
S[i] ≤ F[i], atunci șoarecii S[i], S[i]+1, ..., F[i] participă la experimentul i;S[i] > F[i], atunci șoarecii S[i], S[i]+1, ..., N-2, N-1, 0, ..., F[i] participă la experimentul i.La fiecare pas, Dexter vrea să știe câți din cei N șoareci au participat la toate experimentele efectuate până atunci. Altfel spus, după fiecare al i-lea experiment efectuat, să se determine numărul de șoareci care au participat la toate experimentele 1, 2, ..., i.
OJI 2025, clasele 11-12
| Problema | experimente | Operații I/O |
experimente.in/experimente.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 256 MB
/
Stivă 64 MB
|
| Id soluție | #61895032 | Utilizator | |
| Fișier | experimente.cpp | Dimensiune | 3.80 KB |
| Data încărcării | 14 Decembrie 2025, 20:50 | Scor/rezultat | 56 puncte |
experimente.cpp: In function 'void add_interval(long long int, long long int, long long int)': experimente.cpp:55:31: warning: narrowing conversion of 'x' from 'long long int' to 'int' inside { } [-Wnarrowing] q.push_front({x,y}); ^ experimente.cpp:55:31: warning: narrowing conversion of 'y' from 'long long int' to 'int' inside { } [-Wnarrowing] experimente.cpp:58:41: warning: narrowing conversion of 'secx' from 'long long int' to 'int' inside { } [-Wnarrowing] sec.push_back({secx,x-1}); ^ experimente.cpp:58:38: warning: narrowing conversion of '(x + -1ll)' from 'long long int' to 'int' inside { } [-Wnarrowing] sec.push_back({secx,x-1}); ^ experimente.cpp:92:22: warning: narrowing conversion of 'x' from 'long long int' to 'int' inside { } [-Wnarrowing] q.push_back({x,y}); ^ experimente.cpp:92:22: warning: narrowing conversion of 'y' from 'long long int' to 'int' inside { } [-Wnarrowing] experimente.cpp:95:26: warning: narrowing conversion of '(y + 1ll)' from 'long long int' to 'int' inside { } [-Wnarrowing] sec.push_front({y+1,secy}); ^ experimente.cpp:95:34: warning: narrowing conversion of 'secy' from 'long long int' to 'int' inside { } [-Wnarrowing] sec.push_front({y+1,secy}); ^ experimente.cpp: In function 'void add_intervalsec(long long int, long long int)': experimente.cpp:122:33: warning: narrowing conversion of 'x' from 'long long int' to 'int' inside { } [-Wnarrowing] sec.push_front({x,y}); ^ experimente.cpp:122:33: warning: narrowing conversion of 'y' from 'long long int' to 'int' inside { } [-Wnarrowing] experimente.cpp:142:24: warning: narrowing conversion of 'x' from 'long long int' to 'int' inside { } [-Wnarrowing] sec.push_back({x,y}); ^ experimente.cpp:142:24: warning: narrowing conversion of 'y' from 'long long int' to 'int' inside { } [-Wnarrowing] experimente.cpp: In function 'int main()': experimente.cpp:162:25: warning: narrowing conversion of 's' from 'long long int' to 'int' inside { } [-Wnarrowing] q.push_back({s,f}); ^ experimente.cpp:162:25: warning: narrowing conversion of 'f' from 'long long int' to 'int' inside { } [-Wnarrowing] experimente.cpp:166:30: warning: narrowing conversion of 'f' from 'long long int' to 'int' inside { } [-Wnarrowing] q.push_back({0,f}); ^ experimente.cpp:167:33: warning: narrowing conversion of 's' from 'long long int' to 'int' inside { } [-Wnarrowing] q.push_back({s,n-1}); ^ experimente.cpp:167:30: warning: narrowing conversion of '(n + -1ll)' from 'long long int' to 'int' inside { } [-Wnarrowing] q.push_back({s,n-1}); ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0 secunde | OK. | 3 | 3 | ||
| 2 | 0 secunde | OK. | 4 | 4 | ||
| 3 | 0 secunde | OK. | 5 | 5 | ||
| 4 | 0 secunde | OK. | 6 | 6 | ||
| 5 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
| 6 | 0 secunde | OK. | 4 | 4 | ||
| 7 | 0 secunde | OK. | 6 | 6 | ||
| 8 | 0.02 secunde | OK. | 6 | 6 | ||
| 9 | 0 secunde | OK. | 5 | 5 | ||
| 10 | 0.004 secunde | OK. | 5 | 5 | ||
| 11 | 0.024 secunde | OK. | 6 | 6 | ||
| 12 | 0.06 secunde | OK. | 6 | 6 | ||
| 13 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 14 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 15 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 16 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 17 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 18 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 19 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 20 | Depășit | Limita de timp depășită | 5 | 0 | ||
| Punctaj total | 56 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema experimente 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ă.