題意通り を計算すると、 の計算量が必要となり、間に合いません。
そこで、 便宜上 とする の 累積和 を用いて、 と計算し高速化することで、 で解くことができます。
xxxxxxxxxx
MOD = 998244353
N, X = map(int, input().split())
A = list(map(int, input().split()))
if X <= N:
print(A[X-1])
exit()
f = [0]*(X+1)
acc_f = [0]*(X+1)
for i, a in enumerate(A, start=1):
f[i] = a
acc_f[i] = (a + acc_f[i-1]) % MOD
for i in range(N+1, X+1):
val = (acc_f[i-1] - acc_f[i-N-1]) % MOD
f[i] = val
acc_f[i] = (val + acc_f[i-1]) % MOD
print(f[X])