#P2886. Who Gets the Most Candies?

Who Gets the Most Candies?

题目描述

NN 个孩子围成一圈玩游戏。

子项按顺时针顺序从 11NN 编号。他们每个人手里都有一张上面有非零整数的牌。游戏从第 KK 个孩子开始,他告诉所有其他孩子他卡片上的整数,然后跳出圆圈。他卡片上的整数告诉下一个孩子跳出来。设 AA 表示整数。如果 AA 为正数,则下一个子项将是左侧的第 AA 个子项。如果 AA 为负数,则下一个子项将是右侧的第 A−A 个子项。

游戏会持续到所有孩子都跳出圆圈为止。在游戏过程中,跳出的第 pp 个孩子将获得 F(p)F(p) 糖果,其中 F(p)F(p) 是完美除以 pp 的正整数的数量。谁得到的糖果最多?

输入

输入中有多个测试用例。每个测试用例以两个整数 NN (0<N500,0000 < N \leq 500,000) 和 KK (1KN1 \leq K \leq N) 开头。接下来的 NN 行包含子项的名称(最多由 1010 个字母组成)和整数(非零,幅度在 10810^8 以内)按子项的数字、名称和整数,在一行中由单个空格分隔,没有前导或尾随空格。

输出

为每个测试用例输出一行,其中包含最幸运的孩子的名字和他/她获得的糖果数量。如果出现平局,请始终选择先跳出圆圈的孩子。

输入样例 1

4 2
Tom 2
Jack 4
Mary -1
Sam 1

输出样例 1

Sam 3

题目来源

POJ 月刊--2006.07.30, Sempr