F1 - TesterČasový limit: 4s, Pamäťový limit: 64MiBProgramovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3.4, Python 3.11Počet bodov: 1 [ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ] Palma je obľubená súťaž a jej organizácia si tiež vyžaduje nemálo času. Kedže úloh je veľa, je nutné ich prípravu vhodne manažovať. Počas prípravy kola sa úlohy nielen vymýšlajú, ale aj testujú a to občas býva problém. Máme totiž N organizátorov Palmy potrebujeme nimi otestovať M úloh. Každý organizátor nám zväčšia dopredu povie, koľko úloh by v čase prípravy bol ochotný testovať t1,t2,...,tN. Naviac, ku každému z nich vieme, ktoré úlohy by (chcel) vedel preriešiť. Ľahké úlohy stačí, ak testuje iba jeden, ťažké úlohy treba testovať viacerými. Teda ku každej úlohe máme daný aj počet, koľkokrát by sme ju chceli testovať u1,u2,...,uM. ÚlohaNájdite také rozdelenie, že i-ty vedúci bude testovať maximálne ti úloh a j-ta úloha bude testovaná práve ui krát, pričom každý vedúci vie riešiť všetky úlohy, na ktoré bol pridelený.VstupPrvý riadok vstupu obsahuje dve kladné celé čísla N a M. Druhý riadok obsahuje kladná celé čísla t1,t2,...,tN. (1≤ti≤M, pre každé i=1,2,...,N). Tretí riadok vstupu obsahuje M kladných celých čísel u1,u2,...,uM. (1≤ui≤N, pre každé j=1,2,...,M). Každý zo záverečných N riadkov bude v nasledujúcom tvare:
VstupVýstup má obsahovať priradenia úloh k vedúcim. Každý riadok výstupu má obsahovať dve kladné celé čísla - číslo vedúceho a číslo úlohy. Kedže možných rozvrhov môže existovať viac, akceptovaný bude ľubovoľný z nich. V prípade, že nie je možné otestovať všetky úlohy podľa nášho plánu, vypíšte jeden riadok (ukončený znakom konca riadku) s obsahom "neda sa".F1N ≤ 10M ≤ 10 1≤ di ≤ 2, pre každé i=1,2,...,N. F2N ≤ 1.000M ≤ 1.000 di ≤ 50, pre každé i = 1,2,...,N. Príklad1Vstup:4 6 2 2 2 2 1 1 1 1 2 1 2 1 2 2 3 4 2 4 5 2 5 6 Výstup:1 1 1 2 2 3 2 4 3 5 4 5 4 6 Príklad2Vstup:4 6 2 2 2 2 1 2 1 1 1 1 2 1 2 2 3 4 2 4 5 2 5 6 Výstup:neda sa |