Pagini recente » Profil robertpoe | Cod sursa (job #2000848) | Cod sursa (job #860192) | Ceva interesant de văzut?:) | Cod sursa (job #3241279)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
const int Nmax = 100000;
int n, k, a[Nmax+5];
void read(int &n, int &k, int a[]){
fin >> k >> n;
for(int i = 1; i <= n; i++){
fin >> a[i];
}
}
bool valid(long long nr){
long long sum = 0;
for(int i = 1; i <= n; i++){
sum += min(a[i], k);
}
if(sum >= nr * k){
return true;
}
return false;
}
int main()
{
read(n, k, a);
long long st = 1;
long long dr = 100000000005;
long long sol = 0;
while(st <= dr){
long long m = (st + dr) / 2;
if(valid(m)){
sol = m;
st = m + 1;
}
else{
dr = m - 1;
}
}
fout << sol;
return 0;
}