#include #include #include #include #include using namespace std; int main() { int n, v, c; cin >> n >> v; vector sum(n + 1, 0); vector cost_v(n + 1, 0.0); for (int i = 1; i <= n; i++) { cin >> c; sum[i] += sum[i - 1] + c; cost_v[i] = 1.0 * sum[i] / i; } long long ans = 0; ans += sum[n]; v -= n; while (v > 0) { int limit = min(n, v); double min_cost = cost_v[1]; int min_pos = 1; for (int i = 2; i <= limit; i++) { if (min_cost > cost_v[i]) { min_cost = cost_v[i]; min_pos = i; } } ans += (long long) v / min_pos * sum[min_pos]; v %= min_pos; } cout << ans << endl; return 0; }