Bajtazar jako małe dziecko uwielbiał bawić się klockami.
Jego zabawa polegała na układaniu z klocków
kolumn o losowo wybranych
wysokościach, a następnie ich porządkowaniu.
Bajtazar wybierał liczbę
, a następnie starał się w minimalnej liczbie ruchów
tak uporządkować klocki, by pewne
kolejnych
kolumn klocków miało tę samą wysokość.
Pojedynczy ruch polega na:
Bajtazar nigdy nie był pewien czy wybrane przez niego rozwiązanie było optymalne i poprosił Cię o napisanie programu, który pomoże mu rozwiązywać ten problem.
Napisz program który:
i opis początkowego układu klocków,
W pierwszym wierszu standardowego wejścia
zapisane są dwie liczby całkowite
oraz
(
), oddzielone pojedynczym odstępem.
W kolejnych
wierszach zapisane są początkowe wysokości kolumn klocków;
wiersz
-wszy zawiera jedną liczbę całkowitą
- wysokość
-tej kolumny klocków,
czyli liczbę klocków z których się ona składa.
Na standardowe wyjście należy wypisać optymalne rozwiązanie, to jest układ klocków, który:
kolejnych kolumn o tej samej wysokości,
wierszy, a każdy z nich powinien
zawierać jedną liczbę całkowitą.
W pierwszym wierszu należy wypisać minimalną liczbę ruchów, potrzebnych
do uzyskania żądanego układu.
W
-szym wierszu (dla
) należy wypisać liczbę
-
końcową wysokość
-tej kolumny klocków.
W przypadku, gdy istnieje wiele rozwiązań, należy podać dowolne z nich.
Dla danych wejściowych:
5 3 3 9 2 3 1
poprawną odpowiedzią jest:
2 3 9 2 2 2
Autor zadania: Tomasz Waleń.
W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem szkopul@fri.edu.pl.
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, odwiedź nasze serwery na Discordzie. Są one moderowane przez społeczność, ale członkowie zespołu wsparcia również aktywnie się tam udzielają.