Pagini recente » Cod sursa (job #2535624) | Cod sursa (job #1879180) | Cod sursa (job #491758) | Cod sursa (job #215446) | Cod sursa (job #2603490)
#include <fstream>
using namespace std;
ifstream cin ("grupuri.in");
ofstream cout ("grupuri.out");
int k, n;
long long dr;
int st, mid;
int v[100005];
bool check(int cnt) {
long long sum = 0;
for(int i = 1; i <= n; i++)
sum += min(cnt, v[i]);
return (sum >= 1LL * cnt * k);
}
int main() {
cin >> k >> n;
for(int i = 1; i <= n; i++)
cin >> v[i], dr += v[i];
dr /= k;
st = 1;
while(st <= dr) {
mid = (st + dr) >> 1;
if(check(mid))
st = mid + 1;
else
dr = mid - 1;
}
cout << dr;
return 0;
}