Cod sursa(job #1307440)

Utilizator DjokValeriu Motroi Djok Data 2 ianuarie 2015 10:23:12
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream>
#include<algorithm>
using namespace std;

int i,n,k,a[100005];
long long st,dr,pivot;

bool Solve(int x) {
     int i;
     long long sum=0;
     for(i=1;i<=n;++i)
     sum+=min(a[i],x);
     if(sum<1LL*x*k) return 0;
     return 1;
}

int main()
{
  ifstream cin("grupuri.in");
  ofstream cout("grupuri.out");

  cin>>k>>n;
  for(i=1;i<=n;++i) cin>>a[i],dr+=a[i];

  dr/=k;
  while(st<=dr)
  {
    pivot=(st+dr)/2;
    if(Solve(pivot)) st=pivot+1;
    else dr=pivot-1;
  }

  cout<<dr<<'\n';

 return 0;
}