Cod sursa(job #1501274)

Utilizator adystar00Bunea Andrei adystar00 Data 13 octombrie 2015 10:32:05
Problema Grupuri Scor 74
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
using namespace std;
int v[100001];
int main()
{
    ifstream fin ("grupuri.in");
    ofstream fout ("grupuri.out");
    int k,n,i,s=0,dr,st,m=0,p,suma=0;
    fin>>k>>n;
    for(i=1; i<=n; i++)
    {
        fin>>v[i];
        s+=v[i];
    }
    st=1;
    dr=s/k;
    while(st<=dr)
    {
        //cout<<st<<" "<<dr<<"\n";
        m=(st+dr)/2;
        suma=0;
        for(i=1; i<=n; i++)
            if(v[i]>=m)
                suma+=m;
            else
                suma+=v[i];
        if(suma<m*k)
        {
            dr=m-1;
            //p=m;
        }
        else {
            st=m+1;
            p=m;
        }
    }
    fout<<p;
    return 0;
}