#909. Doge的卡牌接龙

Doge的卡牌接龙

题目背景

国庆到啦,学校组织了一个接龙小活动,祝大家生龙活虎,龙腾四海。

活动规则很简单,各位同学会依次出一张牌进行接龙,如果现在还没有“龙头”,那么出牌的同学就会作为新的“龙头”,并且面值为ss,接下来所有同学如果出的牌和“龙头”一样,接龙的长度lenlen就会增加。

但是也会有同学出的牌和“龙头”不一样,如果某位同学出的牌比当前的“龙头”大,那么大家就会获得这次接龙的分值,分值为面值乘以长度slens*len。反之,如果某位(内鬼)同学出的牌比当前的“龙头”小,那么大家会扣除这次接龙的分值,分值也是slens*len

无论是获得分数还是扣除分数,“龙头”都会被消耗掉,并且触发这次结算的同学不作为新的“龙头”,需要重新找“龙头”。

最后所有同学都出过牌后,接龙活动结束,结束时统计现在场上剩余的接龙分值和已经结算的总分情况。

输入格式 (dragon.in)

第一行输入一个正整数n,代表学生数量

第二行输入以空格隔开的n个正整数,代表每位同学出的牌

输出格式 (dragon.out)

两个数字整数score和left以空格隔开,score为同学们这次接龙活动的总分值,left表示现在场上剩余的接龙分值

样例

输入样例1

6
2 2 2 4 3 3

输出样例1

6 6

输入样例2

10
2 2 2 4 3 3 1 1 2 3

输出样例2

1 3

样例提示

针对样例1,连续2个同学接龙面值为2,后来有一位同学接龙4触发结算,得分为6,剩下的两个3继续接龙,为剩余分值6。

数据范围

n为小于10000的正整数

每位同学出牌的面值不大于13