#include using namespace std; int n, x; int main() { //freopen("rental.in" , "r", stdin); //freopen("rental.out" , "w", stdout); ios::sync_with_stdio(false); cin.tie(nullptr); cin >> n >> x; vector a(n); for (int i = 0; i < n; ++i) cin >> a[i]; int64_t m = 0; for (int i =0 ; i < n; ++i) { m += a[i]; } vector sum(n * 2 + 1); for (int i = 0; i < 2 * n; ++i) { sum[i + 1] = sum[i] + a[i % n]; } int64_t ans = 0; for (int i = 0; i < n; ++i) { auto it = lower_bound(sum.begin(), sum.end(), x + sum[i] - 1); it--; int64_t tmp = *it - sum[i]; ans = max(ans, min(tmp, m)); } cout << ans; return 0; }