Cod sursa(job #3282135)

Utilizator ireallydontcareidontcare ireallydontcare Data 4 martie 2025 17:23:57
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda team_building_oni_10 Marime 0.79 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>

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

#define ll long long

ll N, K, suma;
vector<ll> animale;

ll check(ll x) {
    ll sum = 0;
    for (int i = 1; i <= N; i++) {
        sum += min(x, animale[i]);
    }
    return sum >= K * x; 
}

ll cb(ll n, ll k) {
    ll st = 1;
    ll dr = suma;
    ll ans = 0;

    while(st <= dr){
        ll m = (st + dr) / 2;
        if(check(m) == 1){
            st = m + 1;
            ans = m;
        }
        else{
            dr = m - 1;
        }
    }
    return ans;
}
int main() {
    fin >> K >> N;
    animale.resize(N + 1); 
    
    for (int i = 1; i <= N; ++i) {
        fin >> animale[i];
        suma += animale[i];
    }


    fout << cb(N, K);
}