Cod sursa(job #3036925)
Utilizator | Mihai Octavian Mihai_Oct | Data | 25 martie 2023 11:29:31 |
---|---|---|---|
Problema | Grupuri | Scor | 74 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
int k, n, a[100002], i, st, dr, m, sum;
int main() {
fin >> k >> n;
for(i = 1; i <= n; i++) fin >> a[i], dr += a[i];
st = 1;
dr /= k;
while(st <= dr) {
m = st + (dr - st) / 2;
sum = 0;
for(i = 1; i <= n; i++) sum += min(m, a[i]);
if(sum >= 1LL * m * k) st = m + 1;
else dr = m - 1;
}
fout << dr;
return 0;
}