Pagini recente » Cod sursa (job #2190438) | Cod sursa (job #502481) | Cod sursa (job #311239) | Cod sursa (job #120877) | Cod sursa (job #2414566)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
const int NMAX = 100005;
int a[NMAX],k,n;
long long minim(long long a,long long b)
{
if(a<=b) return a;
else return b;
}
bool verif(long long nr)
{
long long sum=0;
for(int i=1;i<=n;i++)
sum+=minim(nr,a[i]);
if(nr*k<=sum) return 1;
return 0;
}
int main()
{
fin >> k >> n;
long long sum=0;
for(int i=1;i<=n;i++)
{
fin >> a[i];
sum+=a[i];
}
long long st=1,dr=sum,mij,rasp;
while(st<=dr)
{
mij=(st+dr)/2;
if(verif(mij)==1)
{
st=mij+1;
rasp=mij;
}
else dr=mij-1;
}
fout << rasp;
return 0;
}