Cod sursa(job #2350561)

Utilizator moltComan Calin molt Data 21 februarie 2019 15:28:19
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("grupuri.in");
ofstream out("grupuri.out");

vector<int> v;

long long n, k, sol, sum;

int main()
{
    in>>k>>n;
    for(int i = 1; i <=n ; ++i)
    {
        int nr;
       in>>nr;
       sum += nr;
       v.push_back(nr);
    }
    long long st = 1, dr = sum / k, mij;
    while(st <= dr)
    {
        mij =(st + dr) / 2;
        sum = 0;
        for(int i = 0; i < n; ++i)
        {
            if(v[i] <= mij) sum += v[i];
            else sum += mij;
        }
        if(mij * k <= sum)
        {
            st = mij + 1;
            sol = mij;
        }
        else
            dr = mij - 1;
    }
    out<<sol;
    return 0;
}