Pagini recente » Cod sursa (job #1256415) | Cod sursa (job #1959835) | Cod sursa (job #507048) | Cod sursa (job #850037) | Cod sursa (job #490190)
Cod sursa(job #490190)
/*
* File: main.cpp
* Author: petru
*
* Created on 2010-10-05
*/
#include <cstdio>
#define deb(n) fprintf(stderr,"%d ",(n));
#define DN 100005
#define LL long long
int k,n,cant[DN];
LL s;
bool ver(int nr) {
LL prod=nr*k;
for(int i=0; i<n; ++i) {
if(cant[i]<nr) prod-=(LL)cant[i];
else prod-=(LL)nr;
if(prod<=0) return true;
}
return false;
}
int cb() {
int ls=0, ld=s/(LL)k, mij,rez=0;
while (ls<=ld) {
mij=(ls+ld)/2;
if(ver(mij)) rez=mij,ls=mij+1;
else ld=mij-1;
}
return rez;
}
int main()
{
int i;
freopen("grupuri.in","r",stdin);
freopen("grupuri.out","w",stdout);
scanf("%d %d",&k,&n);
for(i=0; i<n; ++i) { scanf("%d",&cant[i]); s+=cant[i];}
printf("%d",cb());
return 0;
}