Pagini recente » Cod sursa (job #691464) | Cod sursa (job #2158934) | Cod sursa (job #2428495) | Cod sursa (job #1848759) | Cod sursa (job #3147014)
#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 = 1, 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;
}