Pregătire XI–XII · clasa a 11-a
Hoțul de pe strada lungă
Cerință
Pe o stradă sunt n case, în fiecare o sumă de bani. Nu poți lua bani din două case vecine. Care este suma maximă pe care o poți aduna? (Poți să nu iei nimic.)
Problemă originală de antrenament, nu este subiect oficial.
Date de intrare
Prima linie: n. A doua linie: sumele.
Date de ieșire
Suma maximă. Nu afișa mesaje suplimentare.
Restricții
- 1 ≤ n ≤ 100 000
- 0 ≤ sume ≤ 10^9 (folosește long long)
- Sunt 20 de teste, fiecare valorează 5 puncte.
1 660996116
660996116
Datele exemplului respectă formatul de intrare. Aplicăm ideea: d[i] = max(d[i−1], d[i−2] + a[i]). Rezultatul corect pentru acest exemplu este: 660996116.
2 270675676 296770391
296770391
Datele exemplului respectă formatul de intrare. Aplicăm ideea: d[i] = max(d[i−1], d[i−2] + a[i]). Rezultatul corect pentru acest exemplu este: 296770391.
8 471370647 329793063 329475884 92698442 708895532 544067222 410414250 245648752
1920156313
Datele exemplului respectă formatul de intrare. Aplicăm ideea: d[i] = max(d[i−1], d[i−2] + a[i]). Rezultatul corect pentru acest exemplu este: 1920156313.
Probleme similare pe PbInfo
Exersează aceeași tehnică și pe PbInfo — acolo găsești și soluții oficiale.
- #1512 Mars — șmenul lui Mars
- #3844 KSum — SSM cu lungime minimă
- #2921 SumeSecv1 — sume parțiale
- #237 Sume — sume parțiale
- #3659 SumMaxSecv — suma costurilor
- #4205 SecvSumS — secvență de sumă S
- #3941 CountSumS — perechi de sumă S
- #4532 SumOfAll — suma subsecvențelor
- #1879 platou2 — secvență crescătoare
- #1639 Secvente3 — ONI 2013
- #2301 secv — ONI gimnaziu 2016
- #2510 vsecvente — lot juniori
- #1090 Secvente2
- #4423 secv2
- #3163 SecvMaxVal
- #334 secventa1 — clasice
- #50 secvmax — secvența de sumă maximă
- #315 secventa
- #190 secvk — secvențe de lungime k
- #217 platou1 — platouri