Cod sursa(job #2396437)

Utilizator IoanMihaiIoan Mihai IoanMihai Data 3 aprilie 2019 15:09:17
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
long long n,k,a[100005];
int ok(long long x)
{
  long long s=0;
  for (int i=1;i<=n;i++)
   s+=min(x,a[i]);
  if (s>=x*k)
      return 1;
  return 0;
}
int cautare()
{
  long long  l=1;
  long long  r=100000000000;
  long long mid=0;
  while(r-l>1)
  {
    mid=(l+r)/2;
    if (ok(mid))
      l=mid;
    else
      r=mid;
  }
  return l;
}
int main()
{
  fin>>k>>n;
  for (int i=1;i<=n;i++)
    fin>>a[i];
  int nr=cautare();
  fout<<nr<<'\n';
}