AT_abc354_b [ABC354B] AtCoder Janken 2

题目描述

有 $N$ 名 AtCoder 用户聚集在一起,进行 **AtCoder じゃんけん2**。第 $i$ 名用户的用户名为 $S_i$,其分数为 $C_i$。 AtCoder じゃんけん2 按照以下步骤进行: - 按照用户名的字典序,依次为每位用户分配编号 $0, 1, \dots, N-1$。 - $N$ 名用户的分数总和记为 $T$。编号为 $T \bmod N$ 的用户即为获胜者。 请输出获胜者的用户名。 什么是字典序?字典序简单来说就是“单词在字典中出现的顺序”。更严格地说,对于由小写英文字母组成的两个不同字符串 $S, T$,判断它们的大小的方法如下: 下面用 $S_i$ 表示 $S$ 的第 $i$ 个字符。如果 $S$ 的字典序小于 $T$,记作 $S < T$,大于则记作 $S > T$。 1. 设 $L$ 为 $S, T$ 中较短的字符串的长度。对于 $i=1,2,\dots,L$,依次比较 $S_i$ 和 $T_i$ 是否相等。 2. 如果存在 $S_i \neq T_i$ 的 $i$,取最小的这样的 $i$,记为 $j$。比较 $S_j$ 和 $T_j$,若 $S_j$ 的字母顺序小于 $T_j$,则 $S < T$,否则 $S > T$,算法结束。 3. 如果所有 $S_i = T_i$,则比较 $S$ 和 $T$ 的长度,若 $S$ 比 $T$ 短,则 $S < T$,否则 $S > T$,算法结束。

输入格式

输入按以下格式从标准输入读入。 > $N$ > $S_1$ $C_1$ > $S_2$ $C_2$ > $\vdots$ > $S_N$ $C_N$

输出格式

请输出答案,仅一行。

说明/提示

### 限制条件 - $1 \leq N \leq 100$ - $S_i$ 是由小写英文字母组成,长度不少于 $3$,不超过 $16$ - $S_1, S_2, \dots, S_N$ 均互不相同 - $1 \leq C_i \leq 4229$ - $C_i$ 为整数 ### 样例解释 1 $3$ 人的分数总和为 $13$。将所有用户名按字典序排列后,顺序为 `aoki`、`snuke`、`takahashi`,因此 `aoki` 被分配编号 $0$,`snuke` 被分配编号 $1$,`takahashi` 被分配编号 $2$。$13 \bmod 3 = 1$,所以编号为 $1$ 的 `snuke` 获胜,输出 `snuke`。 由 ChatGPT 4.1 翻译