Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2007-02-08 08:12:44.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:
Invalid task id
.in,
Invalid task id
.out
Sursă
Invalid task id
Autor
Invalid task id
Adăugată de
Invalid task id
Timp execuţie pe test
Invalid task id
sec
Limită de memorie
Invalid task id
kbytes
Scorul tău
Invalid task id
Dificultate
Invalid task id
Invalid task id

Vezi solutiile trimise | Statistici

Invalid task id

Jegu este un tanar dornic de afirmare si nu se da inapoi de la nicio sarcina ce-i este incredintata. Zilele trecute a primit o tema mai ciudata de la profesorul lui de matematica. El are un sir de n numere naturale (nu neaparat distincte) pe care poate efectua urmatoarea operatie: la un anumit pas poate alege elemetul i al sirului pe care poate sa-l creasca sau sa-l scada cu o unitatie. Aplicand acesta metoda asupra unor anumite elemente din sir, Jegu este pus sa obtina cel putin k elemente distincte, care sa apartina din intervalul [a, b].
Cum Jegu este foarte lenes, va cere ca pornind de la sirul initial, sa-i construiti un alt sir care sa respecte cerintele profesorului sau, iar numarul de operatii prin care s-a ajuns la acesta sa fie minim.

Date de intrare

Pe prima linie a fisierului smen.in se afla n, k, a si b cu semnificatiile din enunt. Pe urmatoarea linie se afla cele n nr ale sirului initial.

Date de iesire

Pe prima linie a fisierului smen.out se va afla numarul minim de operatii prin care se obtine un sir ce respecta cerintele din enunt, iar pe a doua linie se vor afla n numere reprezentand una din posibilele solutii optime.

Restrictii

  • 1 ≤ k ≤ n ≤ 200
  • -200 ≤ a ≤ b ≤ 200
  • fiecare element al sirului initial nu va fi mai mare 200
  • daca raspundeti corect la prima cerinta veti primi 4 puncte pe test, iar daca raspundeti corect la ambele cerinte veti primi 10 puncte pe test

Exemplu

smen.insmen.out
5 4 0 3
2 1 2 1 2
2
2 0 2 1 3
Expecting parameter `task_id`
Invalid `task_id` parameter

Cum se trimit solutii?