Laiko ribojimas: 1s
Atminties ribojimas: 64MB
Sekos suskaldymas
Duota skaičių seka , kurią norima padalinti į dalių. Kiekvienas skaičius turi patekti į lygiai vieną kažkurią iš šių dalių, o visi skaičiai, patenkantys į tą pačią dalį, sekoje turi eiti vienas po kito.
Be to, norima seką padalinti taip, kad didžiausia suma tarp visų dalių būtų kuo mažesnė. Tai reiškia, kad kiekvienai daliai randame sumą skaičių, kurie patenka į ją, ir paimama didžiausia tokia suma tarp visų dalių - jūsų tikslas taip padalinti seką, kad didžiausia suma tarp visų dalių būtų mažiausia įmanoma.
Raskite šią sumą.
Pradiniai duomenys
Pirmoje eilutėje duoti du natūralieji skaičiai ir () - sekos narių kiekis ir skaičius dalių, į kiek norėtų padalinti pradinę seką.
Antroje eilutėje pateikta natūraliųjų skaičių () - sekos nariai.
Rezultatai
Išveskite vieną skaičių - didžiausią įmanomą sumą.
Pavyzdys
Duomenys | Rezultatai |
---|---|
5 3 2 4 7 3 5 |
8 |
Paaiškinimas
Duota seka . Optimalus jos padalinimas į tris dalis atrodytų taip: - šių trijų dalių sumos yra ,,; didžiausia iš jų yra . Kadangi neįmanoma padalinti sekos į tris dalis taip, kad didžiausia suma būtų mažesnė už , tai šis skaičius ir yra atsakymas.