Pagini recente » Cod sursa (job #1398119) | Cod sursa (job #2344570)
#include <iostream>
#include<cstdio>
using namespace std;
const int N=100005;
int v[N];
int n,k;
bool check(long long nrgr){
long long ind=0;
int posingr=1;
for(int i=1;i<=n && posingr<=k;i++){
ind+=min(1LL*v[i],nrgr);
if(ind>=nrgr){
posingr++;
ind-=nrgr;
}
}
if(posingr==k+1)
return true;
return false;
}
long long cb(){
long long pas=0,p2=1LL<<40;
while(p2){
if(check(pas+p2)){
pas+=p2;
}
p2/=2;
}
return pas;
}
int main()
{
FILE*fin,*fout;
fin=fopen("grupuri.in","r");
fout=fopen("grupuri.out","w");
fscanf(fin,"%d%d",&k,&n);
for(int i=1;i<=n;i++){
fscanf(fin,"%d",&v[i]);
}
fprintf(fout,"%lld",cb());
return 0;
}