Cod sursa(job #3329982)

Utilizator 3fr3mFarcasanu Efrem 3fr3m Data 16 decembrie 2025 18:01:02
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <bits/stdc++.h>
#define nmx 100001

using namespace std;

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

long long a[nmx], aux[nmx], sum, n, k;

bool cmp(int A, int B)
{
    return B < A;
}

bool adv(long long x)
{
    int i;
    long long s = 0;
    for(i = 1; i <= n; i++)
    {
        if(a[i] < x)
        {
            s += a[i];
        }
        else
        {
            s += x;
        }
    }
    if(k * x <= s)
    {
        return 1;
    }
    return 0;
}

int main()
{
    int i;
    fin >> k >> n;
    for(int i = 1; i <= n; i++)
    {
        fin >> a[n - i + 1];
        sum += a[n - i + 1];
    }

    long long st = 1, dr = sum / k, mij, sl = 0;

    while(st <= dr)
    {
        mij = (st + dr) / 2;
        if(adv(mij))
        {
            sl = mij;
            st = mij + 1;
        }
        else
        {
            dr = mij - 1;
        }
    }
    fout
     << sl << endl;
}