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 alege un 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 (printr-un numar minim de operatii) cel putin K elemente distincte, care sa apartina intervalului [A, B].
Cum de data aceasta intuitia lui nu-l mai poate ajuta, va cere ca pornind de la sirul initial, sa-i construiti un alt sir care sa respecte cerintele profesorului sau.
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 numere ale sirului initial separate prin cate un spatiu.
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. Pe a doua linie se vor afla N numere, separate prin cate un spatiu, reprezentand una din posibilele solutii optime.
Restrictii
- 1 ≤ K ≤ N ≤ 200
- -200 ≤ a ≤ b ≤ 200
- fiecare element al sirului initial nu va depasi valoarea 200
- daca raspundeti corect la prima cerinta veti primi 4 puncte pe testul respectiv, iar daca raspundeti corect la ambele cerinte veti primi 10 puncte
- smen, nu?
Exemplu
smen.in | smen.out |
---|---|
5 4 0 3 2 1 2 1 2 | 2 2 0 2 1 3 |