Cod sursa(job #2417177)

Utilizator alex2kamebossPuscasu Alexandru alex2kameboss Data 29 aprilie 2019 08:31:42
Problema Grupuri Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <cstdio>

using namespace std;

int n,k;
long long a[100005];

bool ok(long long val){
    long long s = 0;
    for(int i = 0; i < n; ++i)
        s+=min(a[i],val);
    if(s>val*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 = 0; i < n; ++i)
        scanf("%d", &a[i]);

    long long st = 1, dr = 100000000000, mij;
    while(st<dr){
        mij = (st+dr)/2;
        if(!ok(mij))
            dr=mij;
        else
            st = mij + 1;
    }

    cout<<st;

    return 0;
}