Cod sursa(job #863576)

Utilizator Mihai22eMihai Ionut Enache Mihai22e Data 23 ianuarie 2013 22:07:00
Problema Grupuri Scor 36
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(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)
            st = mid + 1;
        else end = mid - 1;
    }

    g << mid << endl;

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

    return 0;
}