Cod sursa(job #1733531)

Utilizator ionanghelinaIonut Anghelina ionanghelina Data 24 iulie 2016 20:58:42
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<bits/stdc++.h>
#define maxN 100005
using namespace std;
long long s,sol,ls,ld,mij;
int v[maxN];
int k,n;
bool verif(long long x)
{
    long long s=0;
    for(int i=1;i<=n;i++)
    {
        if (v[i]<x) s+=v[i];
            else s+=x;
    }
    if ((s/x)>=k) return 1;
    return 0;
}
int main()
{
    freopen("grupuri.in","r",stdin);
    freopen("grupuri.out","w",stdout);
    scanf("%d%d",&k,&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&v[i]);
        s=s+1LL*v[i];
    }
    ls=1;
    ld=s;
    while(ls<=ld)
    {
        mij=ls+(ld-ls)/2;
        if (verif(mij))
        {
            sol=mij;
            ls=mij+1;
        }
            else ld=mij-1;
    }
    printf("%lld\n",sol);
    return 0;
}