//2805 파라메트릭 서치//나무 자르기 - 절단기의 높이 설정 h를 올리면 남은 길이가 줄어듬 그래서 문제는 [정해진 남은길이 이상, h의 높이구하기]#include <bits/stdc++.h>#define fIO ios_base::sync_with_stdio(false); \cin.tie(NULL);using namespace std;int n;long long m;vector<int> tree;bool is_possible(int h){ long long sum = 0; for(int i = 0; i < n; i++) { if(tree[i] > h) sum += (tree[i]- h); } return sum >= m;}int main(void){ fIO cin >> n >> m; tree.resize(n); for(int i = 0; i < n; i++) { cin >> tree[i]; } int left = 0, right = *max_element(tree.begin(), tree.end()); int answer = 0; while(left <= right) { int mid = (left + right) / 2; if(is_possible(mid)) { answer = mid; left = mid + 1; } else { right = mid - 1; } } cout << answer << "\n";}