#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 = 0; i < N - 1; ++i) S[i + 1] = S[i] + C[i + 1]; V -= N; if(V <= 0) { cout << S.back() << 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]); ll ans = S[N - 1]; 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 - 11000) / (k + 1); ans += S[k] * t; V = t * (k + 1); } ans += dp[V]; cout << ans << endl; return 0; }