Cod sursa(job #3236265)

Utilizator tedicTheodor Ciobanu tedic Data 26 iunie 2024 21:33:32
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>

using namespace std;
ifstream cin("grupuri.in");
ofstream cout("grupuri.out");
long long int n,k;
long long int v[100005];
bool verif(long long int grupe)
{
    long long int s=0;
    for(int i=0; i<n; i++)
        s+=min(grupe,v[i]);
        if(s>=k*grupe)
    return 1;
    else
        return 0;
}
void cautbin()
{
    long long int sol=0, st=0, dr=100000000000;
    while(st<=dr)
    {
        long long int mid=(st+dr)/2;
        //cout<<mid<<'\n';
        if(verif(mid))
        {
            st=mid+1;
            sol=mid;
        }
        else
            dr=mid-1;
    }
    cout<<sol;
}
int main()
{

    cin>>k>>n;
    for(int i=0; i<n; i++)
        cin>>v[i];
    cautbin();
    long long int s=0;
    for(int i=0; i<n; i++)
        s+=min((long long)4,v[i]);
      // cout<<'\n'<<s;
    return 0;
}