Cod sursa(job #2353640)

Utilizator YetoAdrian Tonica Yeto Data 24 februarie 2019 14:14:44
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
using namespace std;
long long n, k, st, dr, a[100001], s, i, mid;

int numar (int x)
{
    long long nr=0;
    for (i=1;i<=n;i++) {
        if (a[i]<x) {
            nr+=a[i];
        }else
            nr+=x;
    }

    if (nr>=k*x)
        return 1;
    return 0;
}

int main () {
    ifstream fin ("grupuri.in");
    ofstream fout ("grupuri.out");
    fin>>k>>n;
    for (i=1;i<=n;i++) {
        fin>>a[i];
        s+=a[i];
    }

    st=1;
    dr=s/k;
    while (st<=dr) {
        mid = (st+dr)/2;
        if (numar(mid))
            st=mid+1;
        else
            dr=mid-1;
    }

    fout<<dr;
    return 0;
}