Pagini recente » Diferente pentru contact intre reviziile 11 si 10 | Diferente pentru problema/electoral intre reviziile 9 si 10 | Cod sursa (job #1988264) | Cod sursa (job #1181123) | 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;
}