package main import . "fmt" import . "os" import bf "bufio" func main() { rd := bf.NewReader(Stdin) var n, x int Fscan(rd, &n, &x) a := make([]int, n, 2*n) for i := range a { Fscan(rd, &a[i]) } a = append(a, a...) lb, ub, sum, ans := 0, 0, a[0], 0 for lb < len(a) { for lb <= ub && sum > x { sum -= a[lb] lb++ } ans = max(ans, sum) ub++ if ub >= len(a) { break } sum += a[ub] for ub - lb + 1 > n { sum -= a[lb] lb++ } } Println(ans) }