#include<bits/stdc++.h> #define LL long long usingnamespacestd; constint Maxn = 2000 + 100; int N; LL M; LL A[Maxn], Min[Maxn][Maxn]; intmain() { #ifdef hk_cnyali freopen("B.in", "r", stdin); freopen("B.out", "w", stdout); #endif scanf("%d%lld", &N, &M); for (int i = 1; i <= N; ++i) scanf("%lld", &A[i]); for (int i = 1; i <= N; ++i) Min[i][i] = A[i]; for (int i = 1; i <= N; ++i) for (int j = i + 1; j <= N; ++j) Min[i][j] = min(Min[i][j - 1], A[j]); LL Ans = 0x3f3f3f3f3f3f3f3f; for (int i = 0; i < N; ++i) { LL Sum = i * M; for (int j = 1; j <= N; ++j) if (j > i) Sum += Min[j - i][j]; else Sum += min(Min[1][j], Min[j - i + N][N]); Ans = min(Ans, Sum); } cout<<Ans<<endl; return0; }