Pagini recente » Cod sursa (job #1667328) | Cod sursa (job #2745517) | Cod sursa (job #307057) | Cod sursa (job #877952) | Cod sursa (job #1716934)
#include <bits/stdc++.h>
using namespace std;
typedef long long i64;
const int NMAX = 1000005;
const i64 MMAX = 1LL<<50;
int n, k;
int v[NMAX];
bool check(i64 arg) {
i64 s = 0;
for(int i=1; i<=n; ++i)
s+=min(i64(v[i]), arg);
if(s>=arg*k)
return 0;
else
return 1;
}
int main(void) {
freopen("grupuri.in", "r", stdin);
freopen("grupuri.out", "w", stdout);
i64 ans;
scanf("%d%d",&k,&n);
for(int i=1; i<=n; ++i)
scanf("%d",&v[i]);
ans=0;
for(i64 m=MMAX; m; m>>=1)
if(!check(ans+m))
ans+=m;
printf("%lld\n",ans);
fclose(stdin);
fclose(stdout);
return 0;
}