Cod sursa(job #2164558)

Utilizator bleo16783FMI Bleotiu Cristian bleo16783 Data 13 martie 2018 08:04:38
Problema Grupuri Scor 2
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include<fstream>
#include<cstdio>
using namespace std;
#define N 100100
int v[N],x,n,i,k;
long long s;
bool check(long long nr)
{
    x=min(k,v[0]);
    s=x;
    for(i=1;i<n;++i)
        s+=min(k,v[i]);
    if(s>=1ll*nr*k)
        return 1;
    return 0;
}
int main()
{
    ifstream f("grupuri.in");
    ofstream g("grupuri.out");
    f.sync_with_stdio(false);
    g.sync_with_stdio(false);
    f>>k>>n;
    for(int i=0;i<n;++i)
    {
        f>>v[i];
        s+=v[i];
    }
    long long i=1;
    long long ans=0;
    for(;i<=s/k;i<<=1);
    for(;i;i>>=1)
    {
        if(ans+i<=s/k && check(ans+i) )
            ans+=i;
    }
    g<<ans;
    return 0;
}