#include using namespace std; using ll = long long; #define rep(i, n) for (int i = 0; i < (int)(n); i++) int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); ll n, s; cin >> n >> s; vector a(n); rep(i, n) cin >> a[i]; sort(a.rbegin(), a.rend()); s--; ll l = 0, r = 1 << 30; while (l + 1 != r) { ll c = (l + r) / 2; bool ok = true; ll x = s; ll cnt = c; for (ll i : a) { if (c >= i) continue; if (i > s) { ok = false; break; } if (cnt == c) { x -= i; cnt = 1; } else { cnt++; } } if (x < 0) ok = false; if (ok) { r = c; } else { l = c; } } cout << r << endl; return 0; }