Cod sursa(job #2398995)

Utilizator Carol_LucaCarol Luca Carol_Luca Data 6 aprilie 2019 17:22:01
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
/// grupuri


//#include <iostream>

#include <fstream>

using namespace std;

long long n,k,v[100005],solutie;

bool valid(long long a){

    long long suma=0;

    for(int i=1;i<=n;i++){

        suma+=min(v[i],a);

    }

    if(suma>=a*k)

        return true;

    return false;

}

void cautbin(long long st,long long dr){

    if(st>dr){

        return;

    }

    long long mid=(st+dr)/2;

    if(valid(mid)==true){

        st=mid+1;

        solutie=mid;

    }

    else

        dr=mid-1;

    cautbin(st,dr);

}

int main()

{

    ifstream cin("grupuri.in");

    ofstream cout("grupuri.out");

    long long suma=0;

    cin>>k>>n;

    for(int i=1;i<=n;i++){

        cin>>v[i];

        suma+=v[i];

    }

    cautbin(1,suma);

    cout<<solutie;

    return 0;

}