시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB132266.667%

문제

Kolja hakkas tõsisemalt teoreetilise füüsikaga tegelema ja oma lõputööks on tal vaja superarvutil hulk arvutusi ära teha. Iga arvutust nimetatakse ülesandeks, need on jagatud mingiks hulgaks järjekordadeks ja iga järjekord antakse arvutamiseks eraldi protsessile.

Protsessid töötavad paralleelselt. Igal sekundil võib iga protsess teha ühe kahest tegevusest:

  • Teha käsil olevast järjekorrast üks ¨ ulesanne ära.
  • Luua uus protsess ja anda osa oma järjekorrast sellele. Näiteks, kui järjekorras on 10 ülesannet, võib uue protsessi loomisel anda 3 ülesannet sellele ja 7 endale jätta.

Operatsioonisüsteemi ise ärasuste tõttu on uute protsesside loomiste koguarv piiratud (seejuures töö lõpetanud protsessi enam taaskäivitada või mingil muul moel uuesti kasutada ei saa).

Leida minimaalne sekundite arv, millega on võimalik kõik ülesanded ära teha.

입력

Tekstifaili esimesel real on maksimaalne lubatud uute protsesside loomiste arv K. Teisel real on esialgne protsesside arv N. Järgmisel N real on igaühel täisarv Ai, ülesannete arv vastava algse protsessi järjekorras (1 ≤ Ai ≤ 109).

출력

Tekstifaili väljastada minimaalne kõigi ülesannete täitmiseks vajalik sekundite arv.

예제 입력 1

3
3
6
6
5

예제 출력 1

4

Üks võimalik lahendus:

  1. sekund: 6,6,5
  2. sekund: 3,3,3,3,4 (kaks esimest protsessi andsid kumbki 3 tööd uutele protsessidele, kolmas täitis ühe ülesande)
  3. sekund: 2,2,2,2,2,2 (neli esimest protsessi täitsid igaüks ¨ uhe ülesande, viimane jagas oma järjekorra pooleks ja andis poole uuele protsessile)
  4. sekund: 1,1,1,1,1,1
  5. sekund: valmis

예제 입력 2

4
6
12
5
6
2
6
8

예제 출력 2

6