Pagini recente » Cod sursa (job #2230274) | Cod sursa (job #243031) | Cod sursa (job #1432656) | Cod sursa (job #1835015) | Cod sursa (job #2396218)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ( "grupuri.in" );
ofstream fout ( "grupuri.out" );
int k, n;
int a[100005];
int ok ( int x ) {
int s = 0;
for ( int i = 1; i <= n; i++ )
if ( a[i] > k )
s += k;
else s += a[i];
if ( s >= x * k )
return 1;
return 0;
}
int cauta ( int k ) {
int l = 0, r = n + 1;
while ( r - l > 1 ) {
int mid = ( l + r ) / 2;
if ( ok ( mid ) )
l = mid;
else r = mid;
}
return r;
}
int main() {
fin >> k >> n;
for ( int i = 1; i <= n; i++ )
fin >> a[i];
sort ( a + 1, a + n + 1 );
fout << cauta ( k );
return 0;
}