#4664
Comisarul Roman se află în fața unui dispozitiv exploziv constând dintr-o piramidă cu N nivele numerotate de la 1 la N. Fiecare nivel i conține i bombe numerotate de la 1 la i. Notăm bomba j de pe nivelul i cu B[i, j]. Pentru fiecare bombă B[i, j] se cunoaște timpul în secunde T[i, j] de la momentul inițial după care aceasta explodează. Dispozitivul se consideră dezamorsat odată ce toate bombele au fost dezamorsate. Roman nu vrea să se grăbească, așa că ar vrea să știe care este numărul maxim de secunde X astfel încât, dacă ar începe operațiunea de dezamorsare cu o întârziere inițială de X secunde, dispozitivul ar putea fi încă dezamorsat cu succes. Pentru Q teste, date fiind N și valorile T[i, j] pentru 1 ≤ j ≤ i ≤ N, se cere numărul X.
ONI 2024, clasele 11-12
| Problema | detonator | Operații I/O |
detonator.in/detonator.out
|
|---|---|---|---|
| Limita timp | 1.6 secunde | Limita memorie |
Total: 128 MB
/
Stivă 32 MB
|
| Id soluție | #64329510 | Utilizator | |
| Fișier | detonator.cpp | Dimensiune | 4.01 KB |
| Data încărcării | 30 Aprilie 2026, 01:05 | Scor/rezultat | 100 puncte |
detonator.cpp: In function ‘int main()’: detonator.cpp:68:13: warning: unused variable ‘total’ [-Wunused-variable] 68 | int total = N*(N+1)/2; | ^~~~~ detonator.cpp:58:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 58 | freopen("detonator.in", "r", stdin); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ detonator.cpp:59:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 59 | freopen("detonator.out", "w", stdout); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ detonator.cpp:62:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 62 | scanf("%d", &Q); | ~~~~~^~~~~~~~~~ detonator.cpp:66:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 66 | scanf("%d", &N); | ~~~~~^~~~~~~~~~ detonator.cpp:75:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 75 | scanf("%lld", &T_arr[id]); | ~~~~~^~~~~~~~~~~~~~~~~~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.403 secunde | OK. | 7 | 7 | ||
| 2 | 0.002 secunde | OK. | 4 | 4 | ||
| 3 | 0.002 secunde | OK. | 4 | 4 | ||
| 4 | 0.002 secunde | OK. | 5 | 5 | ||
| 5 | 0.001 secunde | OK. | 3 | 3 | ||
| 6 | 0.001 secunde | OK. | 3 | 3 | ||
| 7 | 0 secunde | OK. | 3 | 3 | ||
| 8 | 0.002 secunde | OK. | 14 | 14 | ||
| 9 | 0.002 secunde | OK. | 13 | 13 | ||
| 10 | 0.002 secunde | OK. | 2 | 2 | ||
| 11 | 0.013 secunde | OK. | 9 | 9 | ||
| 12 | 0.015 secunde | OK. | 2 | 2 | ||
| 13 | 0.054 secunde | OK. | 9 | 9 | ||
| 14 | 0.091 secunde | OK. | 10 | 10 | ||
| 15 | 0.237 secunde | OK. | 6 | 6 | ||
| 16 | 0.388 secunde | OK. | 6 | 6 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema detonator 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ă.