#LX0009. 算术求值【2024五一模拟赛】

算术求值【2024五一模拟赛】

题目描述

小明有一个算式。

这个算式的形式是类似这样的:

x+5-6*4*2

第一个字符是xx,之后每次必定跟着一个+,,+,-,*之一的符号,然后跟着一个9999999999999999以内的整数。

这个算式的计算规则是,从左到右依次计算,最后把他们的结果mod 998244353mod\ 998244353 。而非按照他们的优先级去计算。

例如上式中,假设x=1x=1,那么这个算式的计算过程是:

((((1+5)6)×4)×2)%998244353((((1+5)-6)\times 4)\times 2) \%998244353

小明只知道xx是一个介于1,...,N1,...,N之间的正整数。

小明的问题是,当xx等于几的时候,这个算式的结果最大?以及最大是多少。

输入格式

第一行输入NN

第二行输入一个字符串SS,保证如题面中所述的格式。

输出格式

两个整数表示当结果最大的时候,xx的取值,以及最大的结果。

如果有多个合法的xx,则输出那个最小的xx

样例输入 #1

10
x+5*6

样例输出 #1

10 90

样例解释 #1

不解释

样例输入 #2

10
x-6

样例输出 #2

5 998244352

样例解释 #2

x=5x=5的时候,答案等于(56)%998244353=1(5-6)\%998244353=-1,在模意义下等于9982443531=998244352998244353-1=998244352

样例输入 #3

100000000
x*3+4-7*9+6*10*13-4-7-9*7-8*0

样例输出 #3

1 0

样例解释 #3

最后乘以了00,所以这个式子xx等于任何数,答案都是00

样例输入 #4

100000000
x*105-99999999

样例输出 #4

10459470 998244351

样例输入 #5

100000000
x*3+4-7*9+6*10*13-4-7-9*7-8

样例输出 #5

29699497 998244342

数据范围

对于30%的数据:N1000,S1000N\leq 1000,|S|\leq 1000

对于编号为奇数点的数据:保证每个数字都是一位数。

对于额外15%的数据:保证数据中只有加法。

对于额外15%的数据:保证数据中没有乘法。

对于100%的数据:N108,S106N\leq 10^8,|S|\leq 10^6