#aBC354B. [ABC354B] AtCoder Janken 2

[ABC354B] AtCoder Janken 2

AT_abc354_b [ABC354B] AtCoder Janken 2

题目描述

NN 名 AtCoder 用户聚集在一起,进行 AtCoder じゃんけん2。第 ii 名用户的用户名为 SiS_i,其分数为 CiC_i

AtCoder じゃんけん2 按照以下步骤进行:

  • 按照用户名的字典序,依次为每位用户分配编号 0,1,,N10, 1, \dots, N-1
  • NN 名用户的分数总和记为 TT。编号为 TmodNT \bmod N 的用户即为获胜者。

请输出获胜者的用户名。

什么是字典序?字典序简单来说就是“单词在字典中出现的顺序”。更严格地说,对于由小写英文字母组成的两个不同字符串 S,TS, T,判断它们的大小的方法如下:

下面用 SiS_i 表示 SS 的第 ii 个字符。如果 SS 的字典序小于 TT,记作 S<TS < T,大于则记作 S>TS > T

  1. LLS,TS, T 中较短的字符串的长度。对于 i=1,2,,Li=1,2,\dots,L,依次比较 SiS_iTiT_i 是否相等。
  2. 如果存在 SiTiS_i \neq T_iii,取最小的这样的 ii,记为 jj。比较 SjS_jTjT_j,若 SjS_j 的字母顺序小于 TjT_j,则 S<TS < T,否则 S>TS > T,算法结束。
  3. 如果所有 Si=TiS_i = T_i,则比较 SSTT 的长度,若 SSTT 短,则 S<TS < T,否则 S>TS > T,算法结束。

输入格式

输入按以下格式从标准输入读入。

NN
S1S_1 C1C_1
S2S_2 C2C_2
\vdots
SNS_N CNC_N

输出格式

请输出答案,仅一行。

输入输出样例 #1

输入 #1

3
takahashi 2
aoki 6
snuke 5

输出 #1

snuke

输入输出样例 #2

输入 #2

3
takahashi 2813
takahashixx 1086
takahashix 4229

输出 #2

takahashix

说明/提示

限制条件

  • 1N1001 \leq N \leq 100
  • SiS_i 是由小写英文字母组成,长度不少于 33,不超过 1616
  • S1,S2,,SNS_1, S_2, \dots, S_N 均互不相同
  • 1Ci42291 \leq C_i \leq 4229
  • CiC_i 为整数

样例解释 1

33 人的分数总和为 1313。将所有用户名按字典序排列后,顺序为 aokisnuketakahashi,因此 aoki 被分配编号 00snuke 被分配编号 11takahashi 被分配编号 2213mod3=113 \bmod 3 = 1,所以编号为 11snuke 获胜,输出 snuke

由 ChatGPT 4.1 翻译