Rakett
문제
Marslased ehitavad uut kosmoseraketti. See koosneb moodulist, mis on liinil reas ja nummerdatud järjest . Moodulisse number mahub liitrit kütust, kusjuures moodulite mahutavused on paarikaupa erinevad.
Nüüd tuleb moodulitest koostada astet, millest igaüks koosneb ühest või mitmest järjestikusest moodulist nii, et iga moodul kuulub täpselt ühe astme koosseisu. Teisisõnu on vaja moodulite massiiv jagada mittetühjaks lõiguks.
Viimasel hetkel avastati, et rakett lendab kõige kiiremini, kui moodulid on igas astmes järjestatud mahtude kasvamise järjekorras. Moodulid on suured ja rasked ning seetõttu kulub kahe kõrvuti\-oleva mooduli omavahel vahetamiseks terve tund ja üksteisest kaugemaid mooduleid omavahel vahetada ei saagi.
Kirjutada programm, mis leiab minimaalse vahetuste arvu, mille järel on võimalik moodulid jagada astmeks nii, et igas astmes on moodulid kasvavas järjekorras.
입력
Tekstifaili esimesel real on tühikuga eraldatud täisarvud ja (): vastavalt moodulite ja raketi astmete arv.
Faili teisel real on tühikutega eraldatud täisarvu (): moodulite mahutavused nende numbrite järjekorras. Võib eedada, et arvud on paarikaupa erinevad.
출력
Tekstifaili väljastada üks täisarv: minimaalne moodulite ümberjärjestamiseks kuluv aeg.
예제
예제 1
10 3 9 30 45 2 5 7 10 3 16 22
0
예제 2
7 3 7 6 5 4 3 2 1
5
예제 3
5 2 1 4 2 5 3
1