#include using namespace std; using ll = long long; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n; ll s, tot = 0; cin >> n >> s; vector a(n); for(auto &&v : a) cin >> v, tot += v; sort(a.rbegin(), a.rend()); if(a[0] >= s){ cout << a[0] << '\n'; return 0; } while(a.size() >= 2 && a.back() == 1) a.pop_back(); n = a.size(); int ng = 0, ok = n; while(ng + 1 < ok){ int mid = (ng + ok) / 2; ll sv = 0; for(int i = 0; i < n; i += mid){ sv += a[i]; } (sv < s ? ok : ng) = mid; } cout << min(a[0], ok) << '\n'; }