ecluze

Time limit: 0.03s Memory limit: 128MB Input: ecluze.in Output: ecluze.out

Ecluza este o construcție hidrotehnică amenajată pe traseul unei căi navigabile, care asigură trecerea navelor între două suprafețe de apă cu niveluri diferite. O ecluză se compune dintr-un bazin numit „sas" sau „camera ecluzei", prevăzut la ambele capete cu porţi etanşe şi dintr-o instalaţie puternică de pompare pentru umplerea sau golirea sasului până la nivelul dorit.
Specialiștii români au construit pe cursul navigabil al Dunării o succesiune de NN ecluze numerotate de la 11 la NN, care asigură condiții optime de navigare în sezoanele secetoase. Astfel, dacă o navă se află la un moment dat în ecluza ii și nivelul apei din ecluză diferă de nivelul apei din ecluza i+1i + 1, pentru a-și continua navigarea în condiții optime se face modificarea nivelului apei fie din ecluza ii la nivelul ecluzei i+1i + 1, fie se face modificarea nivelului apei din ecluza i+1i + 1 la nivelul ecluzei ii.
De exemplu, dacă pentru un sector navigabil există 99 ecluze pentru care nivelul apei este următorul:

Ecluză Nivel apă
11 22
22 22
33 44
44 11
55 22
66 22
77 11
88 22
99 22

numărul minim de ecluze la care se impun modificări ale nivelului apei este 33, după cum urmează:

  • nivelul din ecluza 33 este coborât până la nivelul 22
  • ecluza 44 este umplută până la nivelul 22
  • ecluza 77 este umplută până la nivelul 22

Cerinţă

Cunoscând nivelul apei din cele NN ecluze, să se determine numărul minim de modificări ale nivelului apei din ecluze care să permită o trecere prin toate ecluzele.

Date de intrare

Fişierul de intrare ecluze.in conține pe prima linie numărul natural NN ce reprezintă numărul de ecluze.
Pe următoarea linie se află h1,h2,,hNh_1, h_2, \dots, h_N valori naturale separate prin câte un spațiu ce reprezintă nivelul apei corespunzător fiecărei ecluze.

Date de ieșire

Fişierul de ieșire ecluze.out va conţine pe o singură linie un număr natural MM ce reprezintă numărul minim de modificări ale nivelului apei din ecluze care să permită o trecere prin toate ecluzele.

Restricţii şi precizări

  • 2N100 0002 \leq N \leq 100 \ 000
  • 1hi1 0001 \leq hi \leq 1 \ 000 (hih_i – nivelul apei ecluzei ii)
  • pentru 20%20\% din teste N30N \leq 30

Exemplu

ecluze.in

9
1 2 3 3 2 1 1 2 3

ecluze.out

6

Explicaţie

  • ecluza 11 este umplută până la nivelul 22
  • ecluza 22 este umplută până la nivelul 33
  • nivelul din ecluza 44 este coborât până la nivelul 22
  • nivelul din ecluza 55 este coborât până la nivelul 11
  • ecluza 77 este umplută până la nivelul 22
  • ecluza 88 este umplută până la nivelul 33

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