Pagini recente » Cod sursa (job #2828451) | Cod sursa (job #2058527) | Cod sursa (job #3157813) | Cod sursa (job #913648) | Cod sursa (job #1301407)
#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=0;
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;
}