Cod sursa(job #2351181)

Utilizator MihneaGhiraMihnea MihneaGhira Data 22 februarie 2019 07:48:29
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
long long n,k,st,dr,mid;
long long a[100010];

int verif(long long p){
    long long nr=0;
    for(int i=1;i<=n;i++)
        nr+=min(a[i],p);
    if(nr<p*k)
        return 0;
    return 1;
}

int main(){
    fin>>k>>n;
    for(int i=1;i<=n;i++)
        fin>>a[i];
    st=0;
    dr=2000000000;

    /// caut binar raspunsul

    while(st<=dr){
        mid=st+(dr-st)/2;

        /// verific daca pot forma atatea grupuri

        if(verif(mid))
            st=mid+1;
        else
            dr=mid-1;
    }
    fout<<dr;
    return 0;
}