Pagini recente » Cei mai frumosi! | Cod sursa (job #2525845) | Cod sursa (job #854664) | Cod sursa (job #442384) | Cod sursa (job #71179)
Cod sursa(job #71179)
#include <cstdio>
#include <algorithm>
#define fin "grupuri.in"
#define fout "grupuri.out"
#define Nmax 100001
#define Max 50000000000LL
using namespace std;
int N,K,v[Nmax];
long long lo,hi,m;
int bun()
{
int i;
long long curri,currj,tmp;
curri=0; currj=1;
for (i=1;i<=N;++i)
{
if ((long long)v[i]>m)
tmp=m;
else
tmp=(long long)v[i];
curri+=tmp;
if (curri>=m)
{
curri-=m;
++currj;
}
}
if (currj>K)
return 1;
return 0;
}
int main()
{
int i;
freopen(fin,"r",stdin);
freopen(fout,"w",stdout);
scanf("%d%d",&K,&N);
for (i=1;i<=N;++i)
scanf("%d",&v[i]);
lo=1; hi=Max+1;
while (lo<=hi)
{
m=(lo+hi)/2;
if (bun()==0)
hi=m-1;
else
lo=m+1;
}
printf("%lld\n",hi);
return 0;
}