Cod sursa(job #1013593)

Utilizator enedumitruene dumitru enedumitru Data 21 octombrie 2013 11:47:18
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#define ll long long
using namespace std;
ifstream f("grupuri.in"); ofstream g("grupuri.out");
int K,n,v[100100];
ll sum;
inline bool Posibil(ll nrg)
{   ll total=nrg*K;
    for(int i=1;i<=n;i++) total-=1LL*min(1LL*v[i],nrg);
    if(total<=0LL) return true;
    return false;
}
inline ll CautareBinara()
{   ll mij,rez=0,st=1,dr=sum/(1LL*K);
    while(st<=dr)
    {   mij=(st+dr)/2;
        if(Posibil(mij)) {rez=mij; st=mij+1;}
        else dr=mij-1;
    }
    return rez;
}
int main()
{   f>>K>>n;
    for(int i=1;i<=n;i++) {f>>v[i]; sum+=1LL*v[i];}
    g<<CautareBinara()<<"\n"; g.close(); return 0;
}