Pagini recente » Cod sursa (job #1051744) | Cod sursa (job #1424045) | Cod sursa (job #1716491) | Cod sursa (job #1635168) | Cod sursa (job #2910330)
#include <bits/stdc++.h>
using namespace std;
ifstream fin( "grupuri.in" );
ofstream fout( "grupuri.out" );
using ll = long long;
const int DIM = 100005;
int cnt[DIM];
int n, k;
bool ok( int g ) {
ll avb = 0;
for ( int i = 1; i <= n; ++i ) {
avb += min(g, cnt[i]);
}
return avb >= (ll)k * g;
}
int main() {
fin >> k >> n;
for ( int i = 1; i <= n; ++i ) {
fin >> cnt[i];
}
int l = 0, r = 1e6;
while ( r - l > 1 ) {
int mid = (l + r) / 2;
if ( ok(mid) ) {
l = mid;
} else {
r = mid;
}
}
if ( l > r ) swap(l, r);
if ( ok(r) ) {
fout << r;
} else {
fout << l;
}
fin.close();
fout.close();
return 0;
}