== include(page="template/taskheader" task_id="compus") ==
Poveste și cerință...
_Notă: această problemă este un exercițiu de lucru cu vectori, în scop didactic. De aceea, pentru a vă exersa cunoștințele de bază, scrieți citirea vectorului precum și afișarea lui separat de prelucrări. Cu alte cuvinte, nu căutați elementul în timp ce citiți vectorul și nu afișați vectorul începînd cu poziția 1, pentru a scurtcircuita operațiunea de rotație cu 1._
Se citesc [$n$], [$e$], $p$ și apoi $n$ numere naturale. Se cere să se execute următoarele transformări:
# Să se elimine prima apariție a elementului $e$ în vector.
# Să se adauge elementul $e$ pe poziția $p$ în vectorul format.
# Să se răstoarne vectorul astfel format.
# Să se rotească vectorul astfel format cu o poziție către începutul vectorului.
În final se va afișa vectorul rezultat.
h2. Date de intrare
Fișierul de intrare $compus.in$ ...
Fișierul de intrare $compus.in$ conține pe prima linie cele trei numere [$n$], [$e$], [$p$], cu semnificația de mai sus. Pe a doua linie conține $n$ numere naturale.
h2. Date de ieșire
În fișierul de ieșire $compus.out$ ...
Fișierul de ieșire $compus.out$ va conține cele $n$ numere alre vectorului după executarea, în ordine, a operațiilor cerute.
h2. Restricții
* $... ≤ ... ≤ ...$
* $1 ≤ n ≤ 10000$
* pozițiile în vector încep de la zero (zero este poziția primului element din vector)
* Se garantează că $e$ apare în vectorul inițial
* $0 ≤ p ≤ n-1$
h2. Exemplu
table(example).
|_. compus.in |_. compus.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicație
...
|_. compus.in |_. compus.out |_. Explicație |
| 7 5 3
6 3 7 8 5 2 5
| 2 8 5 7 3 6 5
| Prima apariție a elementului 5 trebuie eliminată din vector.
După eliminare vectorul este 6 3 7 8 2 5
Inserăm 5 pe poziția 3: 6 3 7 5 8 2 5
Răsturnăm vectorul: 5 2 8 5 7 3 6
Rotim vectorul cu 1: 2 8 5 7 3 6 5
|
== include(page="template/taskfooter" task_id="compus") ==
== include(page="template/taskfooter" task_id="compus") ==