C2 - FUPČ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 ] Gertrúda je zákazníčkou internetového poskytovateľa LostPackets, ktorý aplikuje tzv. pravidlá na férové používanie služieb – FUP. Podľa týchto pravidiel môžu zákazníci používať plnú rýchlosť pripojenia, ak za žiadne dva za sebou nasledujúce dni nepreniesli viac ako M bytov dát. Gertrúda si však túto pasáž predtým nevšimla a hrozí jej spomalenie pripojenia. Našťastie, jej kamarát Alfonzko pracuje ako technik v LostPackets, a tak sa ponúkol, že by mohol poprehadzovať poradie dní v záznamoch tak, aby limit nebol prekročený. Z technických dôvodov však Alfonzko nemôže presunúť záznam o prvom dni tak, aby tým neupútal pozornosť. Ostatné záznamy už môže bez obáv ľubovoľne zoradiť. Dokážete im pomôcť nájsť vhodné zoradenie záznamov tak, aby FUP nebolo prekročené? ÚlohaNájdite také usporiadanie dní, aby žiaden súčet prenesených bytov z dvoch za sebou idúcich dní nepresiahol M. Množstvo prenesených dát v prvom dni sa nemôže zmeniť. VstupNa prvom riadku vstupu je celkový počet dní v záznamoch D a limit M (1 ≤ M ≤ 1 000 000 000). Nasleduje D kladných celých čísel určujúcich množstvo dát, ktoré v jednotlivých dňoch Gertrúda preniesla (žiadne z nich nie je väčšie ako 1 000 000 000). C11 ≤ D ≤ 10 C21 ≤ D ≤ 100 000 VýstupVypíšte D čísel – ľubovoľné vhodné usporiadanie denných záznamov. Pred, za aj medzi číslami môže byť ľubovoľný počet medzier alebo znakov nového riadku. Ak vhodné usporiadanie neexistuje, vypíšte len text „Neda sa.“ (bez úvodzoviek). Príklad 1Vstup:4 10 5 8 2 1 Výstup:5 2 8 1 Poznámka: Existuje viac správnych riešení. Príklad 2Vstup:3 10 4 6 6 Výstup:Neda sa. |