题目描述
本题由 XiaoZhi 提供
斯大林排序是最近网络上比较流行的“排序”算法
它使序列有序的核心是:在遇到无法形成有序序列的元素时,就剔除它
详细地,在从头向后检查序列时,若遇到非有序序列时,将其删除,这样最后剩下的元素构成的序列一定是有序序列
现在你要编写一个程序,实现斯大林算法,并输出排序后所有元素总和sum以及排序后序列的元素数量count
提示:
1.序列不要求严格单调
2.取模结果为负数时,需要将模数与结果的绝对值做差
输入
共有T组测试数据
第一行一个整数T
对于每组测试数据T:
两行
第一行一个整数0或1,0表示升序排列,1表示降序排列
第二行n个整数(n未知),表示原序列元素,每个数中间用空格隔开
输出
共T行
每行两个整数sum和count,用空格隔开,sum表示排序后所有元素总和,count表示排序后序列的元素数量
注意:由于sum的结果可能很大,所以输出时需要对998244353取模
2
0
5 3 6 4 5 9
1
3 4 4 1 1 2
提示
对于100%的数据:
原序列所有数据均在int范围内
原序列元素数量0<n<1e5
1<=T<=10
简易数据点:
原序列所有元素均在short范围内
原序列元素数量<200
特殊数据点:
原序列所有元素相等
原序列所有元素绝对值不小于1e8