Cod sursa(job #863589)

Utilizator Mihai22eMihai Ionut Enache Mihai22e Data 23 ianuarie 2013 22:15:22
Problema Grupuri Scor 74
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream>

using namespace std;

#define MAXN 100002

int N, K, st, mid, end, i, s, res;
int v[ MAXN ];

int main()
{
    ifstream f("grupuri.in");
    ofstream g("grupuri.out");

    f >> K >> N;
    for(i = 1; i <= N; ++i)
        f >> v[i], s += v[i];

    st = 1;
    end = s / K;
    while(st <= end)
    {
        mid = (st + end) / 2;
        s = 0;
        for(i = 1; i <= N; ++i)
            if(v[i] > mid)
                s += mid;
            else s += v[i];
        if(s >= mid*K)
            res = mid, st = mid + 1;
        else end = mid - 1;
    }

    g << res << endl;

    f.close();
    g.close();

    return 0;
}