Cod sursa(job #2354114)

Utilizator mihaimodiMihai Modi mihaimodi Data 24 februarie 2019 21:20:49
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
long long v[100001];
long long s;
int n,k,st,dr,sol;
bool verif(long long x)
{
    long long nr=0;
    for(int i=1;i<=n;i++)
    {
        if(x>v[i])
            nr+=v[i];
        else
            nr+=x;
    }
    return (nr>=k*x);
}
int main()
{
    fin>>k>>n;
    for(int i=1;i<=n;i++)
        fin>>v[i],s+=v[i];
    st=1;dr=s/k;
    while(st<=dr)
    {
        int mid=(st+dr)/2;
        if(verif(mid))
        {
            st=mid+1;
            sol=mid;
        }
        else
            dr=mid-1;
    }
    fout<<sol;
    return 0;

}