Pagini recente » Diferente pentru problema/capcana intre reviziile 19 si 18 | Cod sursa (job #2986086) | Maxmaxmax | Cod sursa (job #3271800) | Cod sursa (job #2295882)
#include <fstream>
using namespace std;
ifstream f ("grupuri.in");
ofstream g ("grupuri.out");
long long k,n,st,dr,mid,s,v[100003];
int main()
{
f>>k>>n;
for(int i=1;i<=n;++i)
{
f>>v[i];
s+=v[i];
}
st=1;
dr=s/k;
while(st<=dr)
{
mid=(st+dr)/2;
s=0;
for(int i=1;i<=n;++i) s+=min(mid,v[i]);
if(s>=k*mid) st=mid+1;
else dr=mid-1;
}
g<<dr;
return 0;
}