Pagini recente » Cod sursa (job #3347673) | Cod sursa (job #3347747) | Cod sursa (job #3301984) | Cod sursa (job #358934) | Cod sursa (job #3329982)
#include <bits/stdc++.h>
#define nmx 100001
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
long long a[nmx], aux[nmx], sum, n, k;
bool cmp(int A, int B)
{
return B < A;
}
bool adv(long long x)
{
int i;
long long s = 0;
for(i = 1; i <= n; i++)
{
if(a[i] < x)
{
s += a[i];
}
else
{
s += x;
}
}
if(k * x <= s)
{
return 1;
}
return 0;
}
int main()
{
int i;
fin >> k >> n;
for(int i = 1; i <= n; i++)
{
fin >> a[n - i + 1];
sum += a[n - i + 1];
}
long long st = 1, dr = sum / k, mij, sl = 0;
while(st <= dr)
{
mij = (st + dr) / 2;
if(adv(mij))
{
sl = mij;
st = mij + 1;
}
else
{
dr = mij - 1;
}
}
fout
<< sl << endl;
}