Pagini recente » Cod sursa (job #599821) | Cod sursa (job #2420292) | Cod sursa (job #979995) | Cod sursa (job #2930798) | Cod sursa (job #1783240)
#include<fstream>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
long long k,n,i,v[100001],y,st,dr,s,ss,x;
int main()
{
fin>>k>>n;
for(i=1;i<=n;i++)
{
fin>>v[i];
s+=v[i];
}
st=1;
dr=s/k;
while(st<=dr)
{
ss=0;
x=(st+dr)/2;
for(i=1;i<=n;i++)
{
y=v[i];
if(v[i]>=x)
y=x;
ss+=y;
}
if(ss-x*k<=x-1&&ss-x*k>=0)
st=x+1;
else
if(ss-x*k>=x)
st=x+1;
else
if(ss-x*k<=0)
dr=x-1;
}
fout<<dr;
fin.close();
fout.close();
return 0;
}