问题1520--小P的国际象棋

1520: 小P的国际象棋

时间限制: 1Sec 内存限制:512 MB
提交:57 解决:5
[ 状态] [ 讨论版] [ 提交] [命题人: ]
题目描述

小P迷上了一种新国际象棋,这种国际象棋的棋盘是两个序列,一个序列是自己的部分,另一个序列是对手的。在序列中,每一格都是一个士兵,士兵们的初始战斗力不同。 在新国际象棋种获胜方式是这样的:有q次对决,每次对决双方序列的两个区间,如果小P在这个区间内的士气和大于对手在这个区间内的士气和,那么小P需要说出他在这个区间内的士气和。如果他的士气和大于对手的士气和,那么他能得一分。在q次对决之后,双方得分较多的为获胜方。

在新国际象棋种有3种可以影响战局的操作:

魔术师:通过膜法将自己棋盘部分的第i个士兵与第j个士兵交换。音乐家:通过高昂的歌声使自己棋盘部分的lr的区间内士兵士气值加dis盗贼:盗取对手第i个士兵的士气值,并把它的士气值加到己方第i个士兵上。

小P带着自己的好友小Y来玩新国际象棋。

输入

第一行两个整数,n,m代表棋盘是2*n的,影响战局的操作数与对决数之和为m个

接下来两行,每行n个整数,分别代表自己和对手的初始士气值。

接下来m行,每行是下面有以下几种情况:

migNxy:"N"将自己棋盘部分的第x个士兵与第y个士兵交换,例如migY25

musNxyz:"N"将自己棋盘部分的xy的区间内士兵士气值加z,例如musY132

stoNxy:"N"盗取对手第x个士兵的士气值,并把它的士气值加到己方第y个士兵上,例如stoP15

pkxy:对决双方区间[x,y]

输出

对于每次对决都出一次。

每输出一次包含两部分:第一部分表示获胜的是小P还是小Y,若是小P则输出P,若是小Y则输出Y第二部分输出获胜方的区间和。两个部分输出以一个空格隔开,例如Y7

最后再输出最终获胜方,输出获胜者"is winner!",例如"little Y is winner!"

如果双方平局,则输出"five five open"。

样例输入 Copy
5 5 1 3 2 5 1 1 3 2 5 1 mig P 3 2 mus Y 1 4 2 pk 1 3 sto P 1 5 pk 2 5
样例输出 Copy
Y 12 Y 17 little Y is winner!
提示
样例二输入
5 10
33702 7831 40840 14560 27164
13691 20836 5480 2948 11791
sto P 5 1
pk 2 5
pk 1 5
mig P 5 3
sto P 4 1
mig Y 2 5
mus P 2 3 148
sto P 4 3
pk 1 5
pk 1 1
样例二输出
P 90395
P 135888
P 139132
P 48441
little P is winner!




对于百分之三十的数据: 1<=n,m<=1000。
对于另外百分之二十的数据: 没有sto和mig操作。
对于全部数据:1<=n,m<=200005。


来源/分类