Cod sursa(job #2603490)

Utilizator lucametehauDart Monkey lucametehau Data 20 aprilie 2020 11:10:17
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>

using namespace std;

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

int k, n;
long long dr;
int st, mid;

int v[100005];

bool check(int cnt) {
  long long sum = 0;
  for(int i = 1; i <= n; i++)
    sum += min(cnt, v[i]);
  return (sum >= 1LL * cnt * k);
}

int main() {
  cin >> k >> n;
  for(int i = 1; i <= n; i++)
    cin >> v[i], dr += v[i];
  dr /= k;
  st = 1;
  while(st <= dr) {
    mid = (st + dr) >> 1;
    if(check(mid))
      st = mid + 1;
    else
      dr = mid - 1;
  }
  cout << dr;
  return 0;
}