Cod sursa(job #1081264)

Utilizator Catalina_BrinzaBrinza Catalina Catalina_Brinza Data 13 ianuarie 2014 14:24:30
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
//
//  main.cpp
//  grupuri
//
//  Created by Catalina Brinza on 1/13/14.
//  Copyright (c) 2014 Catalina Brinza. All rights reserved.
//

#include <fstream>
using namespace std;
ifstream in("grupuri.in");
ofstream out("grupuri.out");
long long n,k;
long long a[100001];

bool f(int x){
    long long s=0;
    for(long i=0;i<n;i++)
    {
        if(a[i]>x)
            s+=x;
        else s+=a[i];
    }
    if(s>=x*k)
        return true;
    return false;
}

int main()
{long long i;
    in>>k>>n;
    for (i=0;i<n;++i)
        in>>a[i];
    long long pos=1<<30,q=pos;
    for(i=0;pos;pos=pos/2)
        if(i+pos<q && f(i+pos))
            i=i+pos;
    out<<i;
    return 0;
}