Pagini recente » Cod sursa (job #491466) | Cod sursa (job #2291683) | Cod sursa (job #2735891) | Cod sursa (job #2442867) | Cod sursa (job #2107428)
#include<bits/stdc++.h>
#define ll long long
#define pii pair<int,int>
#define pll pair<ll,ll>
#define fi first
#define se second
#define sz size
#define pb push_back
#define mp make_pair
#define bg begin
#define nd end
using namespace std;
const int maxn = 100003;
const int maxk = 1003;
int n,k;
int a[maxn];
bool check(ll x) {
ll sum = 0;
for(int i=0;i<n;++i) {
if(a[i] > x) sum += x;
else sum += a[i];
if(sum/k >= x) return true;
}
return false;
}
int32_t main(){
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
fin >> k >> n;
ll total = 0;
for(int i=0;i<n;++i) {
fin >> a[i];
total += a[i];
}
ll lo = 0;
ll hi = total / k;
while(hi - lo > 1) {
// cout << lo << ' ' << hi << '\n';
ll mid = (lo + hi) / 2;
if(check(mid))
lo = mid;
else
hi = mid;
}
if(check(hi))
fout << hi << '\n';
else
fout << lo << '\n';
return 0;
}