#451. 比划比划?
比划比划?
问题描述
小赖给出了一个长度为 的数组 , 包含 ,以及一个数 ,表示接下来有 轮比拼。
在每一轮比拼中,小赖会给出两个正整数 和 ,保证 ,这两个数表示数组 的一个区间 (包括 和 )。
小谢和小石需要在该区间内选择一个数进行比拼,谁选择的数更大谁就获胜,如果选择的数的值相同,则为平局。
然而,小谢总是能迅速找到区间[l, r]内的最大值 作为自己的数,而一旦小谢选了 ,小石就不能再选择 了。
为了增加胜利的机会,小石插入了U盘,启动了特殊软件:现在小石可以将原区间 变为新区间 (包括 和 ),其中 , 需满足式子: , 且新区间 依旧满足 ; 然后,小石会选择新区间 内的最大值作为自己的数(除了小谢选择过的数 ) 。当然了,小石会找到最好的新区间 ,使得他能选到的数值最大。
对于每轮比拼,数值更大的人为胜者,另一方为败者,如果小石获胜,请输出"S is winner d",如果小谢获胜,请输出"X is winner d",其中 d 表示胜者的数值减去败者的数值的值。特别的,如果两人所得数值相同,则为平局,请输出"Tie"。
输入格式
第一行两个正整数 , , 分别表示数组的长度和比拼的轮数。
第二行给出 个数, 第 个数代表 。
接下来的 行,每行给出两个正整数: , ,表示给出的区间的左右端点。
输出格式
对于给出的 轮比拼 ,每行分别输出对应的结果:如果小石获胜,请输出"S is winner d",如果小谢获胜,请输出"X is winner d",其中d表示胜者的数字减去败者的数字的值。如果是平局,请输出"Tie"。
输入样例
6 3
1 3 2 3 4 5
1 4
3 4
4 5
输出样例
Tie
S is winner 2
X is winner 1
评测数据规模
对于所有评测数据: , 。
说明
样例解释:
第一轮,虽然小石无法找到更好的满足条件的新区间,但是可以选择到和小谢一样的 3,此时为平局,输出 "Tie"
第二轮,小谢先选择了区间 [3, 4] 中的最大值 , 此时小石可以选择新区间 [2, 6] : 3 * 4 = 2 * 6 = 12 且 , 显然该区间满足要求条件 , 然后小石选择该区间内的最大值(小谢选过的数不可选) : , 此时: , 因此输出 "S is winner 2"
第三轮, 小谢先选择了区间 [4, 5] 中的最大值 , 此时小石没有更好的满足条件的新区间 , 最后也只能选择 , 此时 , 因此输出 "X is winner 1"