Pagini recente » Cod sursa (job #1850551) | Cod sursa (job #3195834) | Cod sursa (job #881588) | Cod sursa (job #881822) | Cod sursa (job #1501270)
#include <cstdio>
using namespace std;
FILE *f=fopen("grupuri.in", "r");
FILE *g=fopen("grupuri.out", "w");
int v[100001];
int main()
{
int k, s=0, p=0;
fscanf(f, "%d%d", &k, &v[0]);
for(int i=1; i<=v[0]; ++i){
fscanf(f, "%d", &v[i]);
s+=v[i];
}
int st=1, dr=s/k+1;
while(st<=dr){
int m=(st+dr)/2, s=0;
for(int i=1; i<=v[0]; ++i)
if(v[i]>m) s+=m;
else s+=v[i];
if(s>=m*k){
p=m;
st=m+1;
}
else
dr=m-1;
}
fprintf(g, "%d", p);
return 0;
}