#include using namespace std; using ll = long long; int main(void) { int N, V; cin >> N >> V; vector C(N); for(int i = 0; i < N; ++i) cin >> C[i]; vector S(N, 0); S[0] = C[0]; for(int i = 1; i < N; ++i) S[i] = S[i - 1] + C[i]; V -= N; ll ans = S[N - 1]; if(V <= 0) { cout << ans << endl; return 0; } const int M = 12000; vector dp(M + 1, 1e18); dp[0] = 0; for(int i = 0; i < N; ++i) for(int j = 0; j <= M; ++j) dp[j + i + 1] = min(dp[j + i + 1], dp[j] + S[i]); if(V > M) { int k = 0; for(int i = 1; i < N; ++i) if(S[k] * (i + 1) < S[i] * (k + 1)) k = i; ll t = (V - 10500) / (k + 1); ans += S[k] * t; V -= t * (k + 1); } ll mdp = 1e18; for(int i = 0; i < 1000; ++i) mdp = min(mdp, dp[V + i]); cout << ans + mdp << endl; return 0; }