Pagini recente » Cod sursa (job #610375) | Cod sursa (job #1185706) | Cod sursa (job #738368) | Cod sursa (job #2713852) | Cod sursa (job #3139436)
#include <fstream>
using namespace std;
ifstream in ("grupuri.in");
ofstream out ("grupuri.out");
long long n, k, grupe;
long long v[100000];
long long sum = 0, sol, mij;
bool check (long long mij){
for(int i = 0; i < n; i ++){
sum += min(v[i], mij);
}
if(sum >= mij*k)
return 1;
return 0;
}
int main()
{
in >> k >> n;
for(int i = 0; i < n; i ++){
in >> v[i];
}
long long r = 100000000000;
long long l = 0;
while(l <= r){
sum = 0;
mij = (l + r) / 2;
if(check(mij)){
l = mij + 1;
sol = mij;
}
else{
r = mij - 1;
}
}
out << sol;
return 0;
}