Cod sursa(job #626403)
Utilizator | Data | 26 octombrie 2011 23:53:45 | |
---|---|---|---|
Problema | Grupuri | Scor | 68 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include<stdio.h>
#define N 100001
long a[N],n,m,i,j,r,l;
unsigned long long s,t;
int main()
{freopen("grupuri.in","r",stdin);
freopen("grupuri.out","w",stdout);
scanf("%ld%ld",&n,&m),r=n;
for(i=1;i<=m;i++)
{scanf("%ld",&a[i]);
if(!a[i])
l++;
else
s+=a[i];}
t=s/r,j=m;
while(t<a[j])
{for(i=j;i&&a[i]>t;i--)
s-=a[i];
j=m-i,r-=j;
if(s<r||a[l+1]>=s/r)
break;
t=s/r;}
printf("%llu",t);
return 0;}