Pagini recente » Cod sursa (job #1776320) | Cod sursa (job #1314261) | Cod sursa (job #690008) | Cod sursa (job #2927502) | Cod sursa (job #1590667)
#include <bits/stdc++.h>
#define maxN 100005
using namespace std;
int n, x, k, v[maxN], i, j;
int st, dr, mij;
long long sum;
bool valid(long long x)
{
int i;
long long s = 0;
for(i = 1; i <= n; i++)
if(v[i] < x) s += v[i];
else s += x;
if(s/k >= x) return true;
return false;
}
void cb(int st, int &dr)
{
int mij;
while(st <= dr)
{
mij = (st+dr)>>1;
if(valid(mij)) st = mij+1;
else dr = mij-1;
}
}
int main()
{
freopen("grupuri.in", "r", stdin);
freopen("grupuri.out"," w", stdout);
scanf("%d %d", &k, &n);
for(i = 1; i <= n; i++)
scanf("%d", &v[i]), sum += v[i];
st=1, dr=sum;
cb(st, dr);
printf("%d", dr);
return 0;
}