Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define NMAX 100005
- using namespace std;
- ifstream f ("grupuri.in");
- ofstream g ("grupuri.out");
- long long n , k;
- long long a[NMAX];
- bool inline ok(long long mij)
- {
- long long s = 0 , i;
- for(i = n ; i >= 1 ; i--)
- {
- if(a[i] >= mij)
- s += mij;
- else s += a[i];
- }
- return s >= mij * k;
- }
- long long cb(long long s)
- {
- long long st = 1 , dr = s , mij = 0 , ans = 0;
- while(st <= dr)
- {
- mij = (dr - st) / 2 + st;
- if(ok(mij) == true)
- {
- ans = mij;
- st = mij + 1;
- }
- else dr = mij - 1;
- }
- return ans;
- }
- int main()
- {
- long long s = 0 , i;
- f >> k >> n;
- for(i = 1 ; i <= n ; i++)
- f >> a[i] , s += a[i];
- g << cb(s);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement