Cod sursa(job #3180582)

Utilizator anast56Anastasia Rosan anast56 Data 5 decembrie 2023 16:53:31
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

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

long long int v[100001];

int main()
{
    long long int n, m, sum = 0;

    fin >> n >> m;

    for (long long int i = 1; i <= m; i ++)
    {
        fin >> v[i];
        sum += v[i];
    }

    long long st = 1, dr = sum, rasp = 1;

    while (st <= dr)
    {
        long long mij = (st + dr) / 2, s = 0;

        for (long long int i = 1; i <= m; i ++)
            s += min(v[i], mij);

        if (s >= n * mij)
            st = mij + 1, rasp = mij;
        else
            dr = mij - 1;
    }

    fout << rasp;

    return 0;
}