Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
DWUWM - Dwie wieże |
Mały Bajtek otrzymał od dziadka zestaw klocków. Każdy klocek ma pewną wysokość. Bajtek stawia klocki na sobie i w ten spobób powstaje wieżyczka. Bajtek wybudował dwie wieżyczki, wykorzystując wszystkie swoje klocki.
Zastanawia się teraz, ile minimalnie klocków musi zdjąć z wieżyczek, aby obie miały równą wysokość. Bajtek może zdejmować klocki tylko z szczytów wieżyczek oraz nie może dokładać nowych klocków. W szczególności, Bajek może zdjąć wszystkie klocki ze wieżyczek — wtedy będą miały wysokości równe 0 i będą równe.
Wejście
Pierwszy wiersz wejścia zawiera dwie liczby całkowite n, m (1 <= n, m <= 10^6 ), oznaczające odpowiednio liczbę klocków, z których zbudowana jest pierwsza oraz druga wieżyczka.
Drugi wiersz zawiera n liczb całkowitych a1, a2, . . . , an (1 <= ai <= 10^9 ), gdzie ai oznacza wysokość i-tego klocka w pierwszej wieżyczce (a1 to klocek znajdujący się na samym dole, an to klocek znajdujący się na wierzchołku pierwszej wieżyczki).
Trzeci wiersz zawiera m liczb całkowitych b1, b2, . . . , bm (1 <= bi <= 10^9 ), gdzie bi oznacza wysokość i-tego klocka w drugiej wieżyczce.
Wyjście
Pierwszy i jedyny wiersz wyjścia powinien zawierać jedną liczbę całkowitą, równą minimalnej liczbie klocków, jakie Bajtek powinien zdjąć z wieżyczek, aby były tej samej wysokości.
Example
Input:
4 3
2 2 1 2
1 3 2
Output:
3
Dodane przez: | Marcin Kasprowicz |
Data dodania: | 2018-01-04 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |