Pagini recente » Cod sursa (job #2332021) | Cod sursa (job #632736) | Cod sursa (job #2032313) | Cod sursa (job #409913) | Cod sursa (job #1310290)
#include<fstream>
#include<algorithm>
#define ll long long
#define max(a,b) (a>b) ? a : b
using namespace std;
ifstream cin("grupuri.in");
ofstream cout("grupuri.out");
const int N=100010;
long long n,i,k,a[N];
long long sum,l,r,mij,sol;;
int f(ll x)
{
long long s=0;
for (int i=1;i<=n;i++)s+=min(a[i],x);
if (x*k>s) return 0;
return 1;
}
int main()
{
cin>>k>>n;
for (i=1;i<=n;i++)cin>>a[i],sum+=a[i];
l=0;r=sum/k;
while (l<=r)
{
mij=(l+r)/2;
if (f(mij)) l=mij+1;
else r=mij-1;
}
cout<<r;
return 0;
}