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 |
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.in | smen.out |
---|---|
5 4 0 3 2 1 2 1 2 | 2 2 0 2 1 3 |