using System.Collections; using System.ComponentModel; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; internal class Program { private const long mod = 998244353; public static void Main(string[] args) { int[] line = Console.ReadLine().Split(' ').Select(int.Parse).ToArray(); int n = line[0]; int x = line[1]; int[] a = Console.ReadLine().Split(' ').Select(int.Parse).ToArray(); long sum = 0; for (int i = 0; i < n; i++) sum += a[i]; if (sum <= x) { Console.WriteLine(sum); return; } int r = 0; sum = 0; long ans = 0; for (int l = 0; l < n; l++) { while (sum + a[r] <= x) { sum += a[r]; r++; if (r == n) r = 0; } //Console.WriteLine("{0},{1}",l,sum); ans = Math.Max(ans, sum); sum -= a[l]; } Console.WriteLine(ans); } public static List mkar(int n, int val) { List res = new List(n); for(int i=0;i