Cod sursa(job #3235292)

Utilizator TomMMMMatei Toma TomMMM Data 16 iunie 2024 20:11:28
Problema Grupuri Scor 74
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include <fstream>
#define N_max 30005
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
int len, n;
int nr[N_max];
int nr_max;
void reading(){
    fin >> len >> n;
    for(int i = 1; i <= n; i++){ fin >> nr[i]; nr_max += nr[i];}
}
bool is_good(int nr_grupe){
    int S = 0;
    for(int i = 1; i <= n && S < nr_grupe * len; i++){
        S += min(nr[i], nr_grupe);
    }
    if(S >= nr_grupe  * len) return 1;
    return 0;
}

int main() {
    reading();
    int L = 0, R = nr_max / len;
    int sol = 0;
    while(L <= R){
        int mij = (L + R) / 2;
        if(is_good(mij)){
            sol = mij;
            L = mij + 1;
        }else{
            R = mij - 1;
        }
    }
    fout << sol;
}