Pagini recente » Cod sursa (job #654788) | Cod sursa (job #2831267) | Cod sursa (job #1745233) | Cod sursa (job #1587981) | Cod sursa (job #264046)
Cod sursa(job #264046)
#include<fstream>
using namespace std;
int v[100010],i,n,k,s,m,d;
unsigned long long S,sum;
int main()
{
ifstream f("grupuri.in");
ofstream g("grupuri.out");
f>>k>>n;
for(i=1;i<=n;i++) {f>>v[i]; S+=v[i];}
d=S/k; s=1;
while(s<=d)
{ m=(s+d)>>1;
S=0; sum=k*m; i=0;
while(S<sum&&i<n)
{ i++;
if(v[i]<=m) S+=v[i];
else S+=m;
}
if(S>=sum) s=m+1;
else d=m-1;
}
g<<m;
f.close();
g.close();
return 0;
}