Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024
Problem description
Jasio nauczył się ostatnio algorytmu magicznych piątek. Jest to algorytm pozwalający w czasie liniowym, bez użycia typowego sortowania, znaleźć k-ty najmniejszy element w nieposortowanym ciągu obiektów (problem selekcji).
– Imponujące! – pomyślał Jasio, gdy zrozumiał ideę algorytmu.
Nie będziemy tutaj przytaczać dokładnie całego algorytmu, ale z grubsza polega on na podzieleniu elementów ciągu długości N na $\frac{N}{5}$ grupek po pięć elementów. W każdej z tych grup obliczamy medianę. Potem należy zrobić coś jeszcze, ale nie tego dotyczy zadanie.
Jasio zafascynował się konceptem dzielenia na grupy po pięć obiektów i liczenia z nich mediany do tego stopnia, że zupełnie zapomniał o problemie selekcji, który początkowo chciał rozwiązać. Chciałby tak pogrupować elementy swojego ciągu (umieścić każdy element w jakiejś pięcioelementowej grupie), żeby suma median w grupach była największa możliwa. Pomożesz?
Napisz program, który: wczyta elementy ciągu Jasia, wyznaczy optymalny podział na pięcioelementowe grupy, który maksymalizuje sumę median grup i wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajduje się jedna liczba naturalna N, określająca liczbę elementów ciągu. W drugim (ostatnim) wierszu wejścia znajduje się ciąg N liczb naturalnych Ai, pooddzielanych pojedynczymi odstępami. Są to elementy ciągu Jasia.
Wyjście
W pierwszym (jedynym) wierszu wyjścia powinna się znaleźć jedna liczba całkowita – największa możliwa suma median w wybranych grupach pięcioelementowych.
Ograniczenia
5 ≤ N ≤ 500 000, N jest postaci 5k dla pewnego k ∈ ℕ, 1 ≤ Ai ≤ 109.
Przykład
Wejście | Wyjście | Wyjaśnienie |
|
|
W tym przypadku optymalnie byłoby na przykład umieścić elementy o wartościach (3,4,5,6,6) w jednej grupie, zaś pozostałe elementy w drugiej grupie. Wtedy mediana jednej grupy to 5, a drugiej grupy to 7. |