Cod sursa(job #2342347)

Utilizator vladuteluVlad Oancea vladutelu Data 12 februarie 2019 19:07:13
Problema Grupuri Scor 88
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("grupuri.in");
ofstream out("grupuri.out");

int a[100001];

int main()
{
    long long k, n, gmax = 0, s = 0;
    in>>k>>n;
    for(int i = 1; i<=n; i++)
    {
       in>>a[i];
       s+=a[i];
    }
    int st = 1, dr = s, m;
    while(st<=dr)
    {
        m = (st+dr)/2;
        s = 0;
        for(int i = 1; i<=n; i++)
        {
            if(a[i]<=m)
                s+=a[i];
            else s+=m;
        }
        if(k <= s/m)
        {
            st = m + 1;
            gmax = m;
        }
        else
            dr = m - 1;
    }
    out<<gmax;
    return 0;
}