Fişierul intrare/ieşire:porumb.in, porumb.outSursă.campion 2010
Autorprof. Sergiu CorlatAdăugată deStefanPitur8B Stefan Pitur StefanPitur
Timp execuţie pe test0.1 secLimită de memorie2048 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise

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.inporumb.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.

Trebuie sa te autentifici pentru a trimite solutii. Click aici