Sunteți pe pagina 1din 2

Enzero

Autor: Gheorghies, Alexandru

Cerint, ă
Enzero are un s, ir a de n numere pe care vrea să-l reducă la tăcere (se presupune că s, irul ar fi fost
obraznic). În viziunea artistică a lui Enzero, un s, ir este redus la tăcere dacă toate elementele sale sunt
egale cu 0.

Pentru a-s, i ı̂ndeplini scopul, Enzero poate aplica următoarea operat, ie pe s, irul a de mai multe ori:

• Enzero va alege o subsecvent, ă al , al+1 , . . . , ar ;


• Pentru fiecare element ai din această subsecvent, ă, Enzero poate să ı̂l transforme ori ı̂n ai − 1 ori
ı̂n ai + 1.
Enzero este iute la mânie dar nu s, i la codat, as, a că vă roagă să aflat, i numărul minim de operat, ii necesare
pentru a reduce s, irul a la tăcere.

Date de intrare
Pe prima linie a fis, ierului de intrare enzero.in se va afla un număr n — lungimea s, irului a.

Pe a doua linie se vor afla n numere a1 , a2 , . . . , an — elementele s, irului a.

Date de ies, ire


Fis, ierul de ies, ire enzero.out va cont, ine numărul minim de operat, ii necesare pentru a reduce s, irul a la
tăcere.

Restrict, ii
• 3 ≤ n ≤ 2 · 105
• −109 ≤ ai ≤ 109
# Restrict, ii Puncte
1 n=3 5
2 n=4 8
3 −1 ≤ ai ≤ 1 7
4 −100 ≤ ai ≤ 100 19
5 n ≤ 5 000 24
6 Elementele s, irului a sunt generate aleator 16
7 — 21
Exemple
enzero.in enzero.out Explicat, ii
6 3
0 -1 -3 2 0 1
• [0, −1, −3, 2, 0, 1] → [0, −1, −2, 2, 0, 1];
• [0, −1, −2, 2, 0, 1] → [0, −1, −1, 1, 1, 0];

• [0, −1, −1, 1, 1, 0] → [0, 0, 0, 0, 0, 0].

3 5
4 3 4
• [4, 3, 4] → [3, 2, 3];
• [3, 2, 3] → [2, 1, 2];
• [2, 1, 2] → [1, 0, 1];

• [1, 0, 1] → [0, 0, 1];


• [0, 0, 1] → [0, 0, 0].

S-ar putea să vă placă și