Cod sursa(job #2910993)
Utilizator | NIstor Vlad Vlad_Nistor | Data | 26 iunie 2022 12:25:15 |
---|---|---|---|
Problema | Grupuri | Scor | 64 |
Compilator | cpp-64 | Status | done |
Runda | 3_iulie | Marime | 0.63 kb |
#include <bits/stdc++.h>
using namespace std;
#define LL long long int
LL n,k,a[100001];
bool isok(LL grupuri){
LL sum = 0;
for(int i = 1;i<=n;i++){
sum += min(grupuri, a[i]);
}
if(sum>=grupuri*1LL * k)return 1;
return 0;
}
int main(void){
ofstream cout("grupuri.out");
ifstream cin("grupuri.in");
cin >>k >> n;
for(int i = 1;i<=n;i++){
cin >> a[i];
}
LL st = 0, dr = 1000000, mid = 9;
while(st <= dr){
mid = (st+dr) / 2;
if(isok(mid)){
st = mid+1;
}else{
dr = mid-1;
}
}
cout << dr;
}