Fișierul intrare/ieșire | porumb.in, porumb.out | Sursă | .campion 2010 |
---|---|---|---|
Autor | Sergiu Corlat | Adăugată de | Stefan Pitur • StefanPitur |
Timp de execuție pe test | 0.1 sec | Limită de memorie | 2048 KB |
Scorul tău | N/A | Dificultate | N/A |
Vezi soluțiile trimise | Statistici
Porumb
După cataclismul din 2012 supraviețuitorii au debarcat pe continentul New Africa unde s-au ciocnit de lanurile de porumb răpitor (o mutație a porumbului, apărută în urma furtunii solare, care se hrănește cu organisme vii și se poate deplasa!). Memoria colectivă impune ca plantele să se miște în linii drepte, la distanțe fixe una de alta (cum erau cultivate pe vremuri). În timpul mișcării lanul distruge tot ce îi stă în cale. Din fericire, porumbul este activ doar noaptea, ziua rămânând nemișcat. Astfel, coloniștii pot să distrugă plantele în timpul zilei, folosind aruncătoarele de foc (după ardere porumbul răpitor se transforma imediat în popcorn). Deoarece resursele coloniștilor sunt limitate, iar numărul lanurilor de porumb răpitor este mare, pentru arderea fiecărui lan este repartizat un singur distrugător. Imediat după răsăritul soarelui distrugătorul este deplasat cu un elicopter și lăsat în fața unui rând din lanul de porumb. In fiecare secundă, distrugătorul poate efectua una dintre următoarele trei acțiuni:
- să se deplaseze cu un pas spre dreapta (la rândul următor de porumb);
- să se deplaseze cu un pas spre stânga (la rândul precedent de porumb);
- să ardă cea mai apropiată plantă aflată pe rândul care este în fața sa.
Realizarea oricăreia din acțiunile date necesită exact o secundă.
Deoarece zilele în New Africa sunt foarte scurte, numărul de acțiuni pentru a arde lanul trebuie să fie cât mai mic posibil, altfel apare pericolul ca odată cu venirea nopții distrugătorul să fie consumat de porumb.
Cerinta
Scrieți un program care va determina timpul minim necesar pentru distrugerea unui lan de porumb dat.
Date de intrare
Fișierul de intrare porumb.in conține pe prima linie două numere întregi n m, separate prin spațiu, reprezentând numărul de linii de porumb și respectiv numărul rândului în fața căreia se află inițial distrugătorul. Rândurile de porumb sunt numerotate de la stânga la dreapta de la 1 la n. Cea de a doua linie conține n numere întregi, separate prin câte un spațiu, a1 a2 ... an, unde ai reprezintă numărul de plante aflate pe rândul i.
Date de ieșire
Fișierul de ieșire porumb.out va conține o singură linie pe care va fi scris un număr natural reprezentând timpul minim necesar pentru distrugerea lanului de porumb descris în fișierul de intrare, exprimat în secunde.
Restricții
- 0 < m ≤ n ≤ 100
- 0 < x ≤ 100, pentru x apartinand sirului citit.
Exemplu
porumb.in | porumb.out |
---|---|
4 4 1 2 2 1 |
9 |
Explicatie
Distrugătorul arde planta din linia din fața sa (1), se mișcă spre stânga (1), arde prima plantă din linie (1), arde a doua plantă din linie (1), se mișcă spre stânga (1), arde prima plantă din linie (1), arde a doua plantă din linie (1), se mișcă spre stânga (1), arde planta din linie (1). Sfârșit. Total – 9 secunde.