Unirea pentru Performanta - Online | Euro 2024

This was the problem page during the contest. Access the current page here.
Time limit: 0.2s Memory limit: 256MB Input: euro.in Output: euro.out

Cerință

Lensu este în celălalt capăt al lumii însă vrea să ajungă la finala Euro 2024 din Germania. El are în drum NN orașe și inițial se află în orașul 11 scopul lui fiind să ajungă în orașul NN, mai exact, stadionul din Berlin. El are la dispoziție zz zile să ajungă pentru a nu pierde finala, iar în fiecare zi trebuie să se oprească într-un oraș pentru a se odihni. Fiecare oraș are un cost viv_i lei de staționare, i (1iN)i \ (1 \leq i \leq N), în cazul în care Lensu vrea sa se oprească la un hotel de acolo. De la o zi la alta, el poate parcurge maxim kk orașe, adică dacă este într-o zi în orașul xx, orașul cel mai îndepărtat în care acesta se va putea caza ziua următoare este orașul x+kx+k.

De fiecare dată când se oprește într-un oraș Lensu va scoate de la bancă aceeași sumă de bani să plătească cazarea, pentru a îi fi mai ușor.
Determinați care este numărul de bani minim pe care trebuie să îl scoată de la bancă de fiecare dată când se oprește într-un oraș pentru a ajunge la timp la finală.

Date de intrare

Pe prima linie a fișierului de intrare euro.in se găsesc numerele naturale NN, zz și kk.
Pe urmatoarea linie a fișierului de intrare euro.in se gasesc cele NN numere naturale viv_i, separate printr-un spațiu.

Date de ieșire

Pe prima linie a fișierului de ieșire euro.out se va găsi un singur număr natural, numărul de bani minim pe care Lensu trebuie să îl scoată de la bancă de fiecare dată când se oprește într-un oraș.

Restricții și precizări

  • 1N200 0001 \leq N \leq 200 \ 000;
  • 1vi1 000 0001 \leq v_i \leq 1 \ 000 \ 000;
  • 1zN1 \leq z \leq N;
  • 1k200 0001 \leq k \leq 200 \ 000;
  • Lensu se va caza neapărat în orașul 11 și în orașul NN.
  • Dacă Lensu scoate de la bancă xx bani și staționarea costă yy bani, unde xyx \geq y, atunci el poate staționa în orașul respectiv
  • În cazul în care Lensu scoate xx bani și staționarea costă yy bani, unde x>yx > y, banii rămași după ce se cazează nu se mai iau în considerare
  • În cazul în care Lensu nu poate ajunge la finală se va afișa 1-1
# Punctaj Restricții
1 40 1vi1001 \leq v_i \leq 100, 1N10001 \leq N \leq 1000, 1k501 \leq k \leq 50
2 30 1k501 \leq k \leq 50
3 30 Fără restricții suplimentare

Exemplul 1

euro.in

10 4 3
1 3 4 2 4 5 3 2 3 1

euro.out

3

Explicație

Lensu staționează în 4 zile diferite, în orașele: 11, 44, 77, 1010, numărul minim de bani pe care trebuie să îl scoată fiind 33. (3>13 > 1, 3>23 > 2, 3=33 = 3, 3>13 > 1)
Observație: Lensu nu putea să staționeze în orașul 55 în a doua zi deoarece 51>k5 - 1 > k

Exemplul 2

euro.in

15 4 3
1 3 4 3 4 5 3 2 3 1 2 3 4 2 4

euro.out

-1

Explicație

Orice număr de bani ar scoate Lensu, acesta nu ajunge la finală deoarece trebuie să se oprească prea des.

Log in or sign up to be able to send submissions!