Pagini recente » Cod sursa (job #2616783) | Cod sursa (job #1923031) | Cod sursa (job #234720) | Cod sursa (job #1194074) | Cod sursa (job #1501266)
#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=-1;
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;
}