#4761
Eroul nostru, Mao, a ajuns în Crângul de Bambuși din Universul Paralel unde înălțimile tulpinilor de bambus sunt amețitoare. În crângul din acest univers se află n tulpini de înălțimi h[1], h[2], …, h[n]. Mao are nevoie să taie cel puțin M metri de bambus, așa că el procedează astfel: își alege o înălțime H și trece pe la fiecare tulpină în parte. Dacă bambusul i are înălțimea h[i] mai mare decât H, atunci taie din el partea de sus astfel încât să rămână exact H metri, iar dacă bambusul are cel mult H metri, atunci nu taie deloc. Să se determine înălțimea maximă H pe care o poate fixa Mao astfel încât după tăiere să poată pleca acasă cu cel puțin M metri de bambus.
| Problema | bambusi | Operații I/O |
bambusi.in/bambusi.out
|
|---|---|---|---|
| Limita timp | 0.4 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #65013485 | Utilizator | |
| Fișier | bambusi.cpp | Dimensiune | 1.07 KB |
| Data încărcării | 14 Iulie 2026, 16:18 | Scor/rezultat | 30 puncte |
bambusi.cpp: In function ‘int main()’: bambusi.cpp:11:34: warning: unused variable ‘h’ [-Wunused-variable] 11 | int m, n, v[100001] = { 0 }, h = 0, max = -1, s = 0; | ^ bambusi.cpp:12:11: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 12 | fscanf(in, "%d%d", &n, &m); | ~~~~~~^~~~~~~~~~~~~~~~~~~~ bambusi.cpp:15:15: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 15 | fscanf(in, "%d", &v[i]); | ~~~~~~^~~~~~~~~~~~~~~~~ In file included from /usr/include/stdio.h:980, from bambusi.cpp:1: In function ‘int fprintf(FILE*, const char*, ...)’, inlined from ‘int main()’ at bambusi.cpp:42:12: /usr/include/x86_64-linux-gnu/bits/stdio2.h:79:24: warning: ‘gasit’ may be used uninitialized [-Wmaybe-uninitialized] 79 | return __fprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ bambusi.cpp: In function ‘int main()’: bambusi.cpp:19:32: note: ‘gasit’ was declared here 19 | int st = 0, dr = max, mij, gasit; | ^~~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 0 | 0.002 secunde | OK. | 10 | 10 | ||
| 1 | 0.001 secunde | Raspuns gresit. | 10 | 0 | ||
| 2 | 0.001 secunde | Raspuns gresit. | 10 | 0 | ||
| 3 | 0.002 secunde | Raspuns gresit. | 10 | 0 | ||
| 4 | 0.003 secunde | Raspuns gresit. | 10 | 0 | ||
| 5 | 0.002 secunde | OK. | 10 | 10 | ||
| 6 | 0.003 secunde | OK. | 10 | 10 | ||
| 7 | 0.021 secunde | Raspuns gresit. | 10 | 0 | ||
| 8 | 0.039 secunde | Raspuns gresit. | 10 | 0 | ||
| 9 | 0.054 secunde | Raspuns gresit. | 10 | 0 | ||
| Punctaj total | 30 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema bambusi 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ă.