#4019
Miruna şi partenerul ei de aventură, Pikachu, sunt în faţa unei noi provocări. Cele două personaje au ajuns lângă un lanţ muntos format din N vârfuri aşezate în linie dreaptă unul după altul. Pentru fiecare vârf muntos se cunoaşte înălţimea lui. Folosindu-se de puterile sale extraordinare, Pikachu este capabil sa scadă sau să crească înălţimea unui vârf muntos cu o unitate într-o secundă. Din motive necunoscute muritorilor de rând, cei doi prieteni vor să obţină cel puţin K vârfuri montane consecutive care au aceeaşi înălţime, într-un timp cât mai scurt. Determinaţi timpul minim în care Pikachu poate îndeplini această sarcină.
ONI 2009, clasele XI-XII
| Problema | Pikachu | Operații I/O |
pikachu.in/pikachu.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #58745168 | Utilizator | |
| Fișier | pikachu.cpp | Dimensiune | 2.86 KB |
| Data încărcării | 30 Iulie 2025, 15:27 | Scor/rezultat | 100 puncte |
pikachu.cpp: In function 'void solve()': pikachu.cpp:72:13: warning: unused variable 'ttt' [-Wunused-variable] int ttt = getindex(sir[i-1]); ^ pikachu.cpp:73:13: warning: unused variable 'qqq' [-Wunused-variable] int qqq = getindex(sir[i+K-1]); ^ pikachu.cpp:62:12: warning: unused variable 'j' [-Wunused-variable] int i, j, k, s, lamisto; ^ pikachu.cpp:62:15: warning: unused variable 'k' [-Wunused-variable] int i, j, k, s, lamisto; ^ pikachu.cpp: In function 'int main()': pikachu.cpp:99:37: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("pikachu.in","rt",stdin); ^ pikachu.cpp:100:39: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("pikachu.out","wt",stdout); ^ pikachu.cpp:101:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d %d", &N, &K); ^ pikachu.cpp:103:41: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&sir[i]),A.pb(sir[i]); ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0 secunde | OK. | 10 | 10 | ||
| 2 | 0 secunde | OK. | 10 | 10 | ||
| 3 | 0 secunde | OK. | 10 | 10 | ||
| 4 | 0.004 secunde | OK. | 10 | 10 | ||
| 5 | 0.016 secunde | OK. | 10 | 10 | ||
| 6 | 0.036 secunde | OK. | 10 | 10 | ||
| 7 | 0.048 secunde | OK. | 10 | 10 | ||
| 8 | 0.088 secunde | OK. | 10 | 10 | ||
| 9 | 0.1 secunde | OK. | 10 | 10 | ||
| 10 | 0.096 secunde | OK. | 10 | 10 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Pikachu 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ă.