Pagini recente » Cod sursa (job #2360101) | Cod sursa (job #31108) | Cod sursa (job #861694) | Cod sursa (job #1372182) | Cod sursa (job #1111119)
#include<cstdio>
#include<iostream>
using namespace std;
#define MAX 100000
#define LL long long
LL s , best;
int N , K , v[MAX] ;
bool verif(LL x);
int main()
{
freopen("grupuri.in" , "r" , stdin );
freopen("grupuri.out" , "w" , stdout );
scanf("%d%d" , &K , &N );
for(int i = 1 ; i <= N; ++i )
{
scanf("%d" , &v[i]);
s+=v[i];
}
LL st = 0, dr = s/K;
while(st <= dr)
{
LL m = (st+dr)/2;
if(verif(m))
{
best = m;
st = m+1;
}
else
dr = m-1;
}
cout<<best;
return 0;
}
bool verif(LL x)
{
long long si = 0;
for(int i = 1 ; i <= N ; ++i )
if(v[i] < x)
si+=v[i];
else
si+=x;
if(si >= 1ll*x*K)
return 1;
return 0;
}