Pagini recente » Cod sursa (job #771376) | Cod sursa (job #2745247) | Cod sursa (job #1030400) | Cod sursa (job #2535893) | Cod sursa (job #2354114)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
long long v[100001];
long long s;
int n,k,st,dr,sol;
bool verif(long long x)
{
long long nr=0;
for(int i=1;i<=n;i++)
{
if(x>v[i])
nr+=v[i];
else
nr+=x;
}
return (nr>=k*x);
}
int main()
{
fin>>k>>n;
for(int i=1;i<=n;i++)
fin>>v[i],s+=v[i];
st=1;dr=s/k;
while(st<=dr)
{
int mid=(st+dr)/2;
if(verif(mid))
{
st=mid+1;
sol=mid;
}
else
dr=mid-1;
}
fout<<sol;
return 0;
}