#include <bits/stdc++.h>
#define Dim 100006
using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
long long N,K,A[Dim],Dist[Dim];
long long cnt,S,lim;
bool stop=1;
int main()
{
f>>K>>N; Dist[0]=1;
for(int i=1;i<=N;i++)
{
f>>A[i];
if(i<=N-K) S+=A[i];
else
{
if(stop) cnt+=A[i];
if(stop==0&&(A[i]-A[i-1])*Dist[lim]<=S&&A[i]-A[i-1]!=0)
{
cnt+=A[i]-A[i-1];
S-=(A[i]-A[i-1])*Dist[lim];
lim++;
Dist[lim]=Dist[lim-1]+1;
}
else
if(A[i]-A[i-1]!=0&&stop==0)
{
cnt+=S/Dist[lim];
S=S-(S/Dist[lim])*Dist[lim];
}
if(A[i]==A[i-1]&&stop==0) Dist[++lim]=Dist[lim-1]+1;
stop=0;
}
}
cnt+=S/K;
g<<cnt;
return 0;
}