Mega

Time limit: 0.1s Memory limit: 256MB Input: Output:

"Scoateți ultimul produs. Așezați la loc ultimul produs. Scoateți ultimul produs. Un operator va veni să vă asiste."

Cerință

Costel face cumpărăturile la Mega. El acum se află în fața a NN case de marcat self-check și are MM oameni în fața lui la coadă. Pentru fiecare cumpărător ii se cunoaște timpul tit_{i} în care își termină checkout-ul. Coada se mișcă în felul următor:

  • Primii NN oameni de la coadă ocupă primele NN case de marcat
  • Aceștia își realizează checkout-ul în paralel, iar cumpărătorul ii ocupă o casă de marcat timp de tit_i minute
  • Atunci când un cumpărător termină de făcut checkout-ul, acesta pleacă și îi ia locul următorul de la coadă (timpul necesar acestei schimbări poate fi neglijat, adică se întâmplă instant)

Se cere să se afle după cât timp ajunge Costel la o casă de marcat.

Date de intrare

Pe prima linie se găsesc două numere întregi, NN și MM. Pe următoarea linie se găsesc MM numere, reprezentând timpii în care oamenii de la coadă își fac checkout-ul.

Date de ieșire

Pe prima linie se va găsi un singur număr întreg, timpul după care ajunge Costel la o casă de marcat.

Restricții și precizări

  • 1N,M200 0001 \leq N, M \leq 200\ 000;
  • 1ti1 000 000 0001 \leq t_i \leq 1\ 000\ 000\ 000;
  • Pentru teste în valoare de 66 puncte, M<NM < N;
  • Pentru alte teste în valoare de 88 puncte, M=NM = N;
  • Pentru alte teste în valoare de 44 puncte, N=1N = 1;
  • Pentru alte teste în valoare de 1313 puncte, tit_i sunt egale pentru oricare 1iM1 \leq i \leq M;
  • Pentru alte teste în valoare de 2727 de puncte, M2 000M \leq 2\ 000;
  • Pentru alte teste în valoare de 4242 de puncte, nu există restricții suplimentare.

Exemplul 1

stdin

2 7
1 6 3 2 3 5 4

stdout

11

Explicație

Sunt 2 case de marcat, iar coada este formată din 77 oameni (88 cu tot cu Costel). Acțiunea se desfășoară în felul următor:

Coada Acțiunea Timp rămas la casa 1 Timp rămas la casa 2 Timp total
1 6 3 2 3 5 4 0
3 2 3 5 4 Primii doi oameni ocupă casele de marcat 1 6 0
2 3 5 4 Pleacă primul om și îi ia locul al treilea 3 5 1
3 5 4 Pleacă al treilea om și îi ia locul al patrulea 2 2 4
4 Pleacă ambii oameni simultan și le iau locul următorii 2 3 5 6
Pleacă al cincilea om și îi ia locul al șaptelea 4 2 9
Pleacă al șaptelea om și Costel ajunge la casă 2 11

Exemplul 2

stdin

3 2
10000 10000

stdout

0

Explicație

Sunt 33 case de marcat, dar 22 oameni la coadă (33 cu tot cu Costel). Toți 33 pot ocupa din prima casele de marcat, deci Costel nu va aștepta niciun minut până își face checkout-ul.

Log in or sign up to be able to send submissions!