Cod sursa(job #1342993)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 14 februarie 2015 18:59:13
Problema Grupuri Scor 74
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
#define DIM 100003

using namespace std;

ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
int N,K,v[DIM],p,u,mid,S,sol;
int check(int x){
    int sum=0;
    for(int i=1;i<=N;i++)
        sum+=min(v[i],x);
    return sum>=x*K;
}
int main(){
    fin>>K>>N;
    for(int i=1;i<=N;i++){
        fin>>v[i];
        S+=v[i];
    }
    p=1;
    u=S/K+1;
    sol=-1;
    while(p<=u){
        mid=(p+u)>>1;
        if(check(mid)){
            sol=mid;
            p=mid+1;
        }
        else
            u=mid-1;
    }
    fout<<sol<<'\n';
    fin.close();fout.close();
    return 0;
}