gaina

Time limit: 0.1s Memory limit: 8MB Input: gaina.in Output: gaina.out

Găina Chucky 767767 trebuie să străbată curtea sărind de pe un coteţ pe altul, sau zburând peste coteţe, de la primul la ultimul coteţ. Coteţele sunt reprezentate prin nişte dreptunghiuri de lăţime 1 m1 \ m şi înălţimi date şi sunt numerotate în ordine de la stânga cu numerele de 11 la nn. Două coteţe cu numere consecutive sunt lipite (adiacente). Iniţial, Chucky are un număr de unităţi de energie. Dacă la un moment dat Chucky ajunge să aibă energie strict negativă sau se află în imposibilitatea de a mai face un pas (întâlneşte un coteţ mai înalt decât cota la care se află), atunci nu mai poate continua acel drum.

Chucky poate să se deplaseze făcând următoarele tipuri de mişcări:

  • Pas. Găina păşeşte pe orizontală de pe un coteţ de înălţime HH pe următorul coteţ de aceeaşi înălţime (în desen: de la poziţia hh la ii). În acest caz nu se pierde şi nu se câştigă energie.
  • Aterizare. Găina aterizează pe un coteţ de înălţime HH, venind în zbor, tot de la înălţimea HH (exemplu în desen: de la gg la hh). Nici în acest caz nu se pierde şi nu se câştigă energie.
  • Decolare. Găina zboară 1 m1 \ m pe orizontală de pe un coteţ (exemplu în desen de la xx la aa). În acest caz găina pierde o unitate de energie.
  • Zbor orizontal. Găina zboară pe orizontală (exemplu în desen, de la aa la bb, de la bb la cc, \dots). În acest caz pierde câte o unitate de energie pentru fiecare metru parcurs pe orizontală.
  • Picaj. Găina coboară pe verticală (exemplu în desen de la aa la dd, sau de la dd la gg). În acest caz câştigă câte o unitate de energie pentru fiecare metru coborât.

Mai jos, avem un drum format din 44 coteţe, de înălţimi 44, 11, 22, 22. Exemplificăm diferite tipuri de mişcări din poziţia xx (ceea ce nu reprezintă un traseu complet):

Cerinţă

Să se determine energia minimă (un număr natural) pe care trebuie să o aibă Chucky la începutul călătoriei (când se află pe primul coteţ), astfel încât ea să poată ajunge pe coteţul nn, având în fiecare moment energia mai mare sau egală cu 00.

Date de intrare

Fişierul de intrare gaina.in conţine două linii. Pe prima linie se află numărul natural nn. Pe linia a doua se află nn numere naturale h1h_1, h2h_2, \dots, hnh_n (unde hih_i reprezintă înălţimea coteţului ii), separate de câte un spaţiu.

Date de ieşire

Fişierul de ieşire gaina.out conţine o singură linie pe care se află un număr natural KK reprezentând energia minimă iniţială cu care găina Chucky poate să ajungă la coteţul nn, având în fiecare moment energia mai mare sau egală cu 00.

Restricții și precizări

  • 0<n<10 0010 < n < 10 \ 001
  • 0hi30 0000 \leq h_i \leq 30 \ 000
  • Pentru datele de test există întotdeauna soluţie (primul coteţ are înălţimea mai mare sau egală cu înălţimea oricărui alt coteţ).

Exemplul 1

gaina.in

3
2 2 0

gaina.out

1

Exemplul 2

gaina.in

6
3 0 0 2 1 1

gaina.out

2

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