Cod sursa(job #1389854)

Utilizator akaprosAna Kapros akapros Data 16 martie 2015 18:16:08
Problema Grupuri Scor 74
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<cstdio>
#include<algorithm>
#include<cstring>
#define Nmax 100005
using namespace std;
int n,i,j,k,v[Nmax],sol;
int st,dr,mij,s;
int gr(int m)
{
    int i,nr;
    for (i=1;i<=n;i++)
    nr+=min(m,v[i]);
    if (nr>=m*k)
    return 1;
    return 0;
}
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];
    st=1; dr=s/k;
    while (st<=dr)
    {
        mij=(st+dr)/2;
        if (gr(mij)==1)
        st=mij+1,
        sol=max(sol,mij);
        else dr=mij-1;
    }
    printf("%d",sol);
    return 0;
}