Pagini recente » Cod sursa (job #910680) | Cod sursa (job #2478419) | Cod sursa (job #2743434) | Cod sursa (job #1215565) | Cod sursa (job #3147015)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
int n, k;
int a[100005];
int main(){
f>>k>>n;
int s = 0;
for(int i=1; i<=n; i++){
f>>a[i];
s += a[i];
}
int sol;
int left = 0, right = s / k;
while(left <= right){
int mid = (left + right) / 2;
int suma = 0;
for(int i=1; i <= n; i++){
s += min(a[i], mid);
}
if(s >= mid * k){
sol = mid;
left = mid + 1;
}
else{
right = mid - 1;
}
}
g << sol;
}