列表

详情


NC253617. MoonLight的运算问题

描述

月色哥哥手中有一个数字 x,最初 x=0

给出一个长度为 n 的序列 a月色哥哥会从序列的第一个元素 a_1 按顺序看到序列的最后一个元素 a_n。对于序列的第 i 个元素 a_i月色哥哥可以进行下面的操作之一:


请求出 x 的最大值,并输出这个最大值除 998244353 的余数。

输入描述

第一行包含一个整数 T(1\leq T \leq 10^5),表示测试用例的组数。

对于每组测试用例:

第一行包含一个整数 n(1\leq n\leq 2\cdot 10^5),表示序列的长度。

第二行包含 n 个整数 a_1\dots a_n(0\leq a_i\leq 10^9),表示该序列。

保证对于所有的测试用例,n 的总和不超过 2\cdot 10^5

输出描述

对于每组测试用例:

仅输出一行,包含一个整数,表示答案。

示例1

输入:

3
2
1 1
1
0
1
998244353

输出:

2
0
0

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Python3 解法, 执行用时: 522ms, 内存消耗: 13876K, 提交时间: 2023-08-13 13:56:55

T=int(input())
mod=998244353
for i in range(T):
    n=int(input())
    a=list(map(int,input().split()))
    x=0
    for t in a:
        x=max(x+t,x*t)
        if x>=4*mod:
            x=x%mod+mod
    print(x%mod)

上一题