Pagini recente » Rating Calin Nicolau (calin13) | Cod sursa (job #375856) | Statistici dang tien son (thaklch) | Cod sursa (job #2148344) | Cod sursa (job #869728)
Cod sursa(job #869728)
#include<stdio.h>
#include<algorithm>
using namespace std;
long long v[101010],N,K;
long long S;
int check(int x)
{
long long sum=0;
for(int i=1;i<=N;++i)
if(v[i]<=x)
sum+=v[i];
else sum+=x;
if(sum>=x*K)
return 1;
return 0;
}
long long caut()
{
long long st=1,dr=S/K;
long long ret=0;
while(st<=dr)
{
int mij=(st+dr)/2;
// printf("%d %d %d\n",st,dr,mij);
if(check(mij))
{
ret=mij;
st=mij+1;
}
else dr=mij-1;
}
return ret;
}
int main()
{
freopen("grupuri.in","r",stdin);
freopen("grupuri.out","w",stdout);
scanf("%lld%lld",&K,&N);
for(int i=1;i<=N;++i)
{
scanf("%lld",&v[i]);
S+=v[i];
}
printf("%lld\n",caut());
return 0;
}