Počet bodov:
Popis:  12b
Program:  8b

Syseľ pracuje ako manažér softvérových projektov. Práve teraz sa snaží vymyslieť, ako čo najoptimálnejšie priradiť programátorov ku dvom projektom. O každom z programátorov vie, ako je zbehlý v technológiach potrebných na ten-ktorý projekt. Pracuje s obmedzeným rozpočtom, preto si na každý z projektov môže dovoliť iba určitý počet programátorov, zvyšok žiaľ bude musieť prepustiť. Syseľ by chcel nájsť čo najlepšie priradenie programátorov ku projektom. Pomôžete mu s týmto problémom?

Úloha

Syseľ má \(n\) programátorov. Z jeho výpočtov mu vyšlo, že na projekte A môže pracovať \(x\) programátorov a na projekte B môže pracovať \(y\) programátorov. Zároveň pre každého programátora vie, aké veľké skúsenosti má s technológiami na projekte A a na projekte B. Hodnoty skúseností pre \(i\)-teho programátora si označíme \(a_i\) a \(b_i\). Skúsenosť tímu, ktorý pracuje na projekte A je súčet hodnôt \(a_i\) všetkých programátorov pracujúcich na tomto projekte. Analogicky, skúsenosť tímu pracujúceho na projekte B je súčet hodnôt \(b_i\) všetkých programátorov, ktorí na ňom pracujú. Sysľovým cieľom je maximalizovať súčet skúseností oboch tímov, pričom jeden programátor môže pracovať iba na jednom projekte naraz. Povedané formálne, snažíme sa maximalizovať: \[\sum_{i \in P_A} a_i + \sum_{i \in P_B} b_i \text{,}\] pričom \(P_A\) je množina programátorov pracujúcich na projekte A a \(P_B\) je množina programátorov na projekte B.

Formát vstupu

Na prvom riadku sa nachádzajú tri čísla \(n\), \(x\), \(y\) – celkový počet programátorov a počty programátorov, ktorí môžu pracovať na projekte A a na projekte B. Pritom platí: \(x + y \leq n\), \(2 \leq n \leq 10^5\) a \(x, y \geq 1\).

Druhý riadok obsahuje čísla \(a_1, \dots, a_n\) (\(1 \leq a_i \leq 10^9\)), kde \(a_i\) je skúsenosť \(i\)-teho programátora s technológiami používanými na projekte A.

Tretí riadok obsahuje čísla \(b_1, \dots, b_n\) (\(1 \leq b_i \leq 10^9\)), kde \(b_i\) je skúsenosť \(i\)-teho programátora s technológiami na projekte B.

Formát výstupu

Na výstupe sa nachádza jedno celé číslo – maximálny možný súčet skúseností oboch tímov.

Hodnotenie a obmedzenia

Pre jednotlivé sady testov navyše platia nasledovné obmedzenia. Za vyriešenie každej sady získate 2 body.

číslo sady obmezenie na \(a_i\), \(b_i\) obmedzenie na \(n\)
1 \(1 \leq a_i, b_i \leq 1000\) \(2 \leq n \leq 10\)
2 \(1 \leq a_i, b_i \leq 10^9\) \(2 \leq n \leq 10^2\)
3 \(1 \leq a_i, b_i \leq 10^9\) \(2 \leq n \leq 10^3\)
4 \(1 \leq a_i, b_i \leq 10^9\) \(2 \leq n \leq 10^5\)

Príklady

Input:

5 2 2
1 3 4 5 2
5 3 2 1 4

Output:

18

Syseľ priradí tretieho a štvrtého programátora na projekt A. Prvého a piateho priradí na projekt B. Druhého prepustí. Takto získa tím A s celkovou skúsenosťou \(4+5 = 9\) a tím B s celkovou skúsenosťou \(5+4 = 9\)

Input:

4 2 2
10 8 8 3
10 7 9 4

Output:

31

Skúsenosť tímu A je \(10+8 = 18\) a tímu B je \(9+4 = 13\)

Input:

5 3 1
5 2 5 1 7
6 3 1 6 3

Output:

23

Odovzdávanie

Na odovzdávanie sa musíš prihlásiť

Otázky a diskusia

Po skončení kola budete mať príležitosť na diskutovanie o riešeniach v diskusii pod vzorovým riešením.