Pagini recente » Cod sursa (job #1010592) | Cod sursa (job #494578) | Cod sursa (job #2912924) | Cod sursa (job #516045) | Cod sursa (job #264730)
Cod sursa(job #264730)
#include<fstream>
using namespace std;
unsigned long long v[100010],i,n,k,s,m,d,sol;
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; sol=m;}
else d=m-1;
}
g<<sol;
f.close();
g.close();
return 0;
}