Cod sursa(job #1226607)

Utilizator ArchazeyBaltatu Andrei-Mircea Archazey Data 6 septembrie 2014 14:27:05
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<bits/stdc++.h>
using namespace std;

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

const int NMAX=100005;

int n,k,a[NMAX];
long long sol;

inline bool Test(long long x)
{
    int i,aux=n-k;
    long long s=0,p=0;
    for (i=1;i<=aux;i++) s+=a[i];
    for (;i<=n;i++)
        if (a[i]<x) p+=x-a[i];
    if (s>=p) return 1;
    return 0;
}

int main()
{
    int i;
    long long st,dr,mij;
    fin>>k>>n;
    for (i=1;i<=n;i++) fin>>a[i];
    st=0;dr=1000000000000;
    while (st<=dr)
        {
            mij=(st+dr)>>1;
            if (Test(mij)) {sol=mij;st=mij+1;}
            else dr=mij-1;
        }
    fout<<sol<<"\n";
    return 0;
}