Pagini recente » Cod sursa (job #534398) | Cod sursa (job #1810353) | Cod sursa (job #2262258) | Cod sursa (job #1244730) | Cod sursa (job #1731060)
#include <fstream>
#define NMAX 1099511627776
#define DIM 100005
using namespace std;
ifstream f ("grupuri.in");
ofstream g ("grupuri.out");
long long n , sum , k;
long long v[DIM];
bool verif(long long nrg);
long long caut_bin();
int main() {
f >> k >> n;
for (long long i = 1; i <= n; ++i) {
f >> v[i];
sum += v[i];
}
g << caut_bin();
return 0;
}
long long caut_bin() {
long long i , p = 0;
for (i = 1; i <= NMAX; i <<= 1);
while (i) {
if (verif(i + p)) {
p += i;
}
i >>= 1;
}
return p;
}
bool verif(long long nrg) {
long long sm = 0;
for (long long i = 1; i <= n; ++i) {
sm += min (v[i] , nrg);
}
if (sm >= k * nrg) {
return 1;
}
return 0;
}