Pagini recente » Statistici Constantinescu Karina (kicking_names) | Cod sursa (job #2139087) | Cod sursa (job #1346013) | Cod sursa (job #1712067) | Cod sursa (job #2149292)
#include<fstream>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
int C[100005], K, N;
long long Sum, Sol;
inline int check( long long X ){
long long S = 0;
for( int i = 1; i <= N; i++ )
S += ( C[i] <= K ) ? C[i] : K;
if( S >= 1LL * X * K )
return 1;
return 0;
}
int main(){
fin >> K >> N;
for( int i = 1; i <= N; i++ )
fin >> C[i], Sum += C[i];
Sum /= K;
for( long long step = (1LL<<40); step != 0; step >>= 1 )
if( Sol + step <= Sum && check( Sol + step ) == 1 )
Sol += step;
fout << Sol << "\n";
return 0;
}