Cod sursa(job #1501277)
| Utilizator | Data | 13 octombrie 2015 10:34:09 | |
|---|---|---|---|
| Problema | Grupuri | Scor | 74 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<cstdio>
int k,n,v[100001],i,j,l1,l2,mid,s,o;
int main ()
{
freopen("grupuri.in","r",stdin);
freopen("grupuri.out","w",stdout);
scanf("%d%d",&k,&n);
for(i=1;i<=n;i++)
{
scanf("%d",&v[i]);
s+=v[i];
}
l2=s/k;
while(l1<=l2)
{
int s1=0;
mid=(l1+l2)/2;
for(i=1;i<=n;i++)
{
if(mid>=v[i])
s1+=v[i];
else
s1+=mid;
}
if(s1/k>=mid)
{
o=mid;
l1=mid+1;
}
else
l2=mid-1;
}
printf("%d",o);
return 0;
}
