void solve(int N, ll X, ll A[], ll res[]){ ll s = 0; res[0] = X - A[0]; rep(i,1,N) res[i] = max(res[i-1], 0) + X - A[i]; rep(i,1,N) res[i] >?= res[i-1]; } { int @N; ll @X, @Y, @A[N]; ll ans1[N], ans2[N], s = sum(A(N)); solve(N,X,A,ans1); reverse(A,A+N); solve(N,Y,A,ans2); rep(i,1,N-1) wt(s + ans1[i-1] + ans2[N-2-i]); }