Pagini recente » Cod sursa (job #1309563) | Cod sursa (job #1322053) | Cod sursa (job #1579916) | Cod sursa (job #3254047) | Cod sursa (job #1301405)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fi("grupuri.in");
ofstream fo("grupuri.out");
const int MAX_N = 100005;
long long i,n,k,a[MAX_N];
bool ok(long long gr){
long long s=0;
for(int j=1;j<=n;j++)
s += min(gr,a[j]);
if(s>=gr*k) return 1;
return 0;
}
long long cautare_binara(){
long long sol;
long long st=0;
long long dr=1LL*1000000*1000000;
long long mijl;
while(st!=dr){
mijl=(st+dr)>>1;
if(ok(mijl)){
sol=mijl;
st=mijl+1;
}
else dr=mijl;
}
return sol;
}
int main(){
fi>>k>>n;
for(i=1;i<=n;i++) fi>>a[i];
fo<<cautare_binara();
fi.close();
fo.close();
return 0;
}