#3545
Drumetie
John a pornit într-o drumeție. El se află în orașul 1
. Se știe efortul pe care îl depune pentru a străbate fiecare oraș, e[i]
. De asemenea, se cunoaște și k[i]
, cu semnificația că orașul i
comunică cu orașele care apartin intervalului [max(1, i - k[i]), min(i + k[i], n)]
. Observație : Dacă se află în orașul i
, acesta poate merge în orașul j
doar dacă i
comunică cu j
și j
comunică cu i
. Ajutați-l pe John să determine efortul minim pe care trebuie să-l depună pentru a ajunge în orașul n
.
Problema | Drumetie | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #53444351 | Utilizator | |
Fișier | drumetie.cpp | Dimensiune | 2.09 KB |
Data încărcării | 30 Octombrie 2024, 20:45 | Scor / rezultat | 80 puncte |
drumetie.cpp: In member function 'void SegmentTree::upd(long long int, long long int, long long int, long long int, long long int)': drumetie.cpp:33:25: warning: suggest parentheses around '+' inside '>>' [-Wparentheses] int mid = l + r >> 1; ^ drumetie.cpp: In member function 'long long int SegmentTree::query(long long int, long long int, long long int, long long int, long long int)': drumetie.cpp:52:23: warning: suggest parentheses around '+' inside '>>' [-Wparentheses] int m = l + r >> 1,left=OO,right=OO; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0.004 secunde | OK. | 20 | 20 | Exemplu | |
2 | 0.004 secunde | OK. | 20 | 20 | ||
3 | 0.008 secunde | OK. | 20 | 20 | ||
4 | 0.492 secunde | OK. | 20 | 20 | ||
5 | 0.388 secunde | Caught fatal signal 11 | 20 | 0 | ||
Punctaj total | 80 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Drumetie 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ă.