Cod sursa(job #2790672)

Utilizator vladutzu_finutzuVlad Cacenschi vladutzu_finutzu Data 29 octombrie 2021 12:23:59
Problema Grupuri Scor 22
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
const int NMAX = 100001;
int n, k;
long long v[NMAX];
int main()
{
    f >> k >> n;
    for (int i = 1; i <= n; i++)
        f >> v[i];

    long long x = 1;
    for (int i = 1; i <= 13; i++)
        x *= 10;

    long long l = 1, r = 2 * x, mid, sol;
    while (l <= r)
    {
        mid = (l + r) / 2;
        long long s = 0;
        for (int i = 1; i <= n; i++)
            s += min(v[i], mid);

        if (s < mid * k)
            r = mid - 1;

        else if (s == mid * k)
            sol = mid, l = mid + 1;

        else
            l = mid + 1;
    }

    g << sol;

    return 0;
}