Diferente pentru problema/barman intre reviziile #2 si #13

Diferente intre titluri:

barman
Barman

Diferente intre continut:

== include(page="template/taskheader" task_id="barman") ==
==Include(page="template/taskheader" task_id="barman")==
Poveste ...
Paftenie a decis sa se faca barman. Inainte de asta trebuie sa dovedeasca abilitate in manevrarea bauturilor. Barul lui Paftenie este alcatuit din $N$ camere aliniate in cerc. In fiecare camera se afla un pahar cu bautura, fiecare bautura avand o anumita valoare (cuprinsa intre $1$ si $2.000.000.000$). El trebuie sa mute bauturile dintr-o camera in alta astfel incat la sfarsit, bauturile sa fie sortate dupa camere. Daca la sfarsit in camera $i$ se afla o bautura cu valoarea $a{~i~}$, sirul valorilor $a{~1~},a{~2~}...a{~N~}$ se considera sortat daca exista $1 ≤ i ≤ N$ astfel incat $a{~i~} ≤ a{~i+1~} ≤ ... ≤ a{~N~} ≤ a{~1~} ≤ ... ≤ a{~i-1~}$ (sirul este circular). In orice moment, Paftenie poate tine pe tava cel mult doua pahare. Pentru deplasarea bauturilor, poate efectua urmatoarele mutari:
 
* poate lua un pahar din camera in care se afla si sa il aseze pe tava (il costa $10$ secunde)
* poate lasa un pahar intr-o camera in care nu se afla nici o bautura (il costa $10$ secunde)
* se poate deplasa din camera $i$ in camera $j$ avand pe tava $c$ pahare ({$0 ≤ c ≤ 2$}) (il costa $c*|i-j|$ secunde)
h2. Cerinta
...
Ajutati-l pe Paftenie sa sorteze paharele intr-un timp minim!
h2. Restrictii
h2. Date de Intrare
...
Pe prima linie a fisierului de intrare $barman.in$ este dat numarul $N$ al bauturilor. Pe urmatoarea linie se afla $N$ intregi reprezentand valorile bauturilor - al $i$-lea numar reprezinta valoarea bauturii aflate initial in camera $i$ ({$a{~i~}$}).
h2. Date de intrare
h2. Date de Iesire
...
Fisierul $barman.out$ va contine pe prima linie un singur numar reprezentand timpul minim de sortare a bauturilor.
h2. Date de iesire
h2. Restrictii si precizari
...
* $1 ≤ N ≤ 600$
* In orice moment, in afara de paharele care le are Paftenie pe tava, intr-o camera poate exista maxim un pahar
h2. Exemplu
| barman.in | barman.out |
| linia1
linia2
linia3
| linia1
linia2
|
table(example). |_. barman.in |_. barman.out |
| 4
1 5 2 2
| 42 |
 
h3. Explicatii
 
$o 5 2 2$ merge in camera $1$ si pune paharul de acolo pe tava ({$10$}s)
$o 5 2 2$ merge din camera $1$ in camera $2$ cu un pahar pe tava ({$1$}s)
$o o 2 2$ pune pe tava paharul din camera $2$ ({$10$}s)
$o 1 2 2$ asaza pe masa din camera $2$ paharul cu bautura de valoare $1$ ({$10$}s)
$o 1 2 2$ se intoarce in camera $1$ cu un pahar pe tava ({$1$}s)
$5 1 2 2$ asaza pe masa din camera $1$ paharul cu bautura de valoare $5$ ({$10$}s)
→ $42$ de secunde
sirul este sortat deoarece {$1 ≤ 2 ≤ 2 ≤ 5 (a2 ≤ a3 ≤ a4 ≤ a1)$}
 
==Include(page="template/taskfooter" task_id="barman")==
 
== include(page="template/taskfooter" task_id="barman") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
303