E - PlukyČasový limit: 2s, Pamäťový limit: 64MiBProgramovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3Počet bodov: 1 [ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ] Na monitore sa práve schyľuje k veľkej bitke medzi armádou hráča a armádou jeho počítača. Sily sú vyrovnané, obe armády obsahujú rovnaký počet plukov, pričom ale jednotlivé pluky môžu obsahovať rôzne počty vojakov. Na začiatku bitky sa pluky oboch armád zoradia do dvoch radov tak, že oproti každému hráčovmu pluku stojí práve jeden pluk patriaci počítaču. Potom sa začne samotný boj. Pluky stojace oproti sebe na seba zaútočia. A keďže v počte je sila, zvíťazí ten z nich, ktorý má viac vojakov. Ak náhodou majú súperiace pluky rovnaký počet vojakov, vyhráva pluk patriaci počítaču. Hráčova armáda má veľmi schopných špiónov, ktorí pred bitkou zistia, koľko vojakov má nepriateľ v ktorom pluku a ako sú jeho pluky rozmiestnené. Vašou úlohou je rozmiestniť na základe týchto informácií hráčove pluky tak, aby čo najviac z nich svoj súboj vyhralo. ÚlohaNapíš program, ktorý Ti poradí, ako najlepšie rozmiestniť pluky, ktoré máš k dispozícii. Na vstupe dostaneš počet plukov N v každej armáde a počty vojakov v každom z 2N plukov na bojisku. Ako výstup programu nám stačí jediné celé číslo–najväčší počet hráčových plukov, ktoré vyhrajú svoj súboj pri nejakom rozostavení.VstupPrvý riadok vstupu obsahuje jedno celé číslo N (1 ≤ N ≤ 10 000) – počet plukov v každej z armád. V druhom riadku je medzerami oddelených N celých čísel A1, ..., AN (1 ≤ Ai ≤ 100 000 000) – počty vojakov v hráčových plukoch. V treťom riadku je medzerami oddelených N celých čísel B1, ..., BN (1 ≤ Bi ≤ 100 000 000) – počty vojakov v plukoch patriacich počítaču. VýstupJediný riadok výstupu má obsahovať jediné celé číslo – najväčší počet hráčových plukov, ktoré môžu naraz vyhrať svoj súboj.Príklad 1Vstup:5 7 12 1 7 47 7 12 1 7 47 Výstup:3 Vysvetlenie:Ak to hráč spraví dobre, vyhrajú jeho pluky veľkosti 47, 12 a jeden z plukov veľkosti 7.Príklad 2Vstup:5 1 3 5 7 9 2 4 6 8 10 Výstup:4 Vysvetlenie:Obetujeme hráčov najmenší pluk, pošleme ho proti pluku veľkosti 10. Ostatné pluky vieme potom rozmiestniť tak, aby vyhrali.Príklad prebraný z MO-P-1-1, 2000 |