Pagini recente » Cod sursa (job #2594232) | Cod sursa (job #472925)
Cod sursa(job #472925)
#include<iostream>
#include<fstream>
using namespace std;
int a[100010];
int grup(int n, int k, long long ng){
long long s = 0;
int i;
for (i = n; i >= 1; i--){
if ( a[i] > ng)
s = s + ng;
else
s = s + a[i];
}
if ( s >= ng * k)
return 1;
return 0;
}
int main(){
ifstream f("grupuri.in");
ofstream g("grupuri.out");
int n, k;
int i, j;
long long s = 0, p, u, m, sol;
f>>k>>n;
for (i = 1; i <= n; i++){
f>>a[i];
s = s+a[i];
}
s = s/k;
p = a[1];
u = s;
sol = p;
while (p <= u){
m = (p+u)/2;
if (grup(n, k, m) == 1){
sol = m;
p = m+1;
}
else
u = m-1;
}
g<<sol<<'\n';
return 0;
}