/* -*- coding: utf-8 -*- * * 3758.cc: No.3758 Fan Meeting - yukicoder */ #include #include #include using namespace std; /* constant */ const int MAX_N = 300000; /* typedef */ using ll = long long; /* global variables */ int as[MAX_N]; /* subroutines */ ll calc(int n, int t) { ll r = 0; for (int i = 0; i < n && as[i] > t; i += t) r += as[i]; return r; } /* main */ int main() { int n, s; scanf("%d%d", &n, &s); for (int i = 0; i < n; i++) scanf("%d", as + i); sort(as, as + n, greater()); int t0 = 0, t1 = as[0]; while (t0 + 1 < t1) { int t = (t0 + t1) / 2; if (calc(n, t) < s) t1 = t; else t0 = t; } printf("%d\n", t1); return 0; }