standard |
|
Micul Gigel se joacă cu N turnuri, fiecare turn fiind format din unul sau mai multe cuburi aşezate unul peste altul. Pentru fiecare turn se defineşte înălţimea lui ca fiind numărul de cuburi care îl formează. Pentru a-i transforma jocul într-o provocare intelectuală, învăţătoarea lui Gigel îi recomandă acestuia să aleagă exact K înălţimi standard şi să reconstruiască turnurile astfel încât noile lor înălţimi să se găsească printre înălţimile standard. Gigel ştie că pentru a elimina un cub dintr-un turn (micşorându-i astfel înălţimea cu o unitate) sau pentru a aşeza un cub la vârful turnului (mărindu-i înălţimea cu o unitate) are nevoie de un minut. Pentru că lucrul la un singur turn poate deveni monoton, Gigel doreşte să aleagă înălţimile standard astfel încât timpul maxim necesar pentru a modifica un turn sa fie cât mai mic posibil. Cerinta Scrieţi un program care să determine exact K înălţimi standard astfel încât timpul maxim necesar pentru a modifica un turn să fie minim posibil.Date de intrare Fişierul de intrare standard.in conţine pe prima linie două numere naturale N şi K, separate printr-un spaţiu, reprezentând numărul de turnuri şi respectiv numărul de înălţimi standard care trebuie alese. Cea de a doua linie conţine N numere naturale nenule în ordine strict crescătoare, separate prin câte un spaţiu, reprezentând înălţimile celor N turnuri.Date de iesire Fişierul de ieşire standard.out va conţine pe prima linie timpul maxim T necesar pentru a modifica un turn, pe cazul optim. Următoarea linie conţine K numere naturale, reprezentând înălţimile standard alese. Dacă sunt mai multe soluţii pentru acelaşi timp T se va afişa cea în care şirul înălţimilor este minim lexicografic.Restrictii
Exemplu
|