Pagini recente » Cod sursa (job #903879) | Cod sursa (job #222216) | Cod sursa (job #1534009) | Cod sursa (job #2923192) | Cod sursa (job #1225420)
#include <cstdio>
#define Nmax 100005
using namespace std;
int a[Nmax],N,K;
inline bool Ok(long long x)
{
int i,j;
long long s=0;
for(i=N;i && a[i]>x;--i);
for(j=1;j<=i;++j)
s+=a[j];
s+=x*(N-i);
if(s>=x*K)
return true;
return false;
}
int main()
{
int i;
long long st=1,dr=0,mij,sol=0;
freopen ("grupuri.in","r",stdin);
freopen ("grupuri.out","w",stdout);
scanf("%d%d", &K,&N);
for(i=1;i<=N;++i)
{
scanf("%d", &a[i]);
dr+=a[i];
}
dr=dr/K+1;
while(st<=dr)
{
mij=(st+dr)/2;
if(Ok(mij))
{
sol=mij;
st=mij+1;
}
else
dr=mij-1;
}
printf("%lld\n", sol);
return 0;
}