Pagini recente » Diferente pentru problema/tractomarm intre reviziile 1 si 2 | Cod sursa (job #545088) | Diferente pentru problema/huffman intre reviziile 20 si 19 | Cod sursa (job #2447286) | 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;
}