#ABC354B. AtCoder 猜拳 2

AtCoder 猜拳 2

AtCoder 猜拳 2

题目描述

NN 名 AtCoder 用户聚在一起玩「AtCoder 猜拳 2」。第 ii 名用户的名字是 SiS_i,段位是 CiC_i。

「AtCoder 猜拳 2」按以下方式游玩:

按用户名的字典序从小到大,给用户分配编号 0,1,…,N−10, 1, \dots, N - 1。

设 TT 为这 NN 名用户的段位之和。被分配编号 T mod NT \bmod N 的用户获胜。

输出获胜用户的名字。

什么是字典序?

字典序,简单来说,就是「单词在字典中出现的顺序」。更严谨地,两个由小写英文字母组成的相异字符串 SS 与 TT 的大小比较算法如下(这里将「SS 的第 ii 个字符」记作 SiS_i):

设 LL 为 SS 与 TT 中较短者的长度。对 i=1,2,…,Li = 1, 2, \dots, L,依次检查 SiS_i 与 TiT_i 是否一致。

  • 若存在 ii 使得 Si≠TiS_i \neq T_i,设 jj 为最小的这样的 ii。比较 SjS_j 与 TjT_j:若 SjS_j 在字母表顺序上小于 TjT_j,则 S<TS \lt T;否则 S>TS \gt T。算法到此结束。
  • 若不存在 ii 使得 Si≠TiS_i \neq T_i,则比较 SS 与 TT 的长度:若 SS 比 TT 短,则 S<TS \lt T;若 SS 比 TT 长,则 S>TS \gt T。算法到此结束。

输入格式

输入按以下格式从标准输入给出:

NN
S1S_1 C1C_1
S2S_2 C2C_2
⋮\vdots
SNS_N CNC_N

输出格式

在一行内输出答案。

样例

3
takahashi 2
aoki 6
snuke 5
snuke

这 3 名用户的段位之和为 1313。将名字按字典序排序得到 aoki、snuke、takahashi,因此 aoki 被分配编号 00,snuke 为 11,takahashi 为 22。

由于 13 mod 3=113 \bmod 3 = 1,输出被分配编号 11 的 snuke。

3
takahashi 2813
takahashixx 1086
takahashix 4229
takahashix

数据范围

  • 1≤N≤1001 \le N \le 100
  • SiS_i 是由小写英文字母组成的字符串,长度在 33 到 1616 之间(含端点)
  • S1,S2,…,SNS_1, S_2, \dots, S_N 互不相同
  • 1≤Ci≤42291 \le C_i \le 4229
  • CiC_i 是整数
难度 普及-
通过率 —
尝试 0
通过 0
ID
3299
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签