Cod sursa(job #863583)

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

using namespace std;

#define MAXN 100002

int N, K, st, mid, end, i, s;
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(end - st > 1)
    {
        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)
            end = mid;
        else st = mid;
    }

    g << end << endl;

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

    return 0;
}