atcoder#ABC251C. [ABC251C] Poem Online Judge

[ABC251C] Poem Online Judge

题目描述

ポエムオンラインジャッジ (Poem Online Judge, 以下 POJ と表記) は提出された文字列に得点をつけるオンラインジャッジです。
POJ に N N 回の提出がありました。早い方から i i 番目の提出では文字列 Si S_i が提出されて、得点は Ti T_i でした。(同じ文字列が複数回提出される場合もあります)
ただし、POJ では 同じ文字列を提出しても得点が等しいとは限らない のに注意してください。

N N 回の提出のうち、その提出よりも早い提出であって文字列が一致するものが存在しないような提出を オリジナル であると呼びます。
また、オリジナルな提出の中で最も得点が高いものを 最優秀賞 と呼びます。ただし、そのような提出が複数ある場合は、最も提出が早いものを最優秀賞とします。

最優秀賞は早い方から何番目の提出ですか?

输入格式

入力は以下の形式で標準入力から与えられる。

N N S1 S_1 T1 T_1 S2 S_2 T2 T_2 \vdots SN S_N TN T_N

输出格式

答えを出力せよ。

题目大意

nn 个字符串,第 ii 个字符串被记为 sis_i ,它的得分为 tit_i(请注意,即使字符串是相同的,它们所对应的分数也可能不同。)

在这 nn 个字符串中,如果当前的字符串此前未出现过,那么称它为“原创字符串”。原创字符串中得分最高者被称为是“最优秀”的。如果最高得分出现过多次,那么出现最早的那个字符串就是“最优秀”的。

现在,你的任务就是编程求出“最优秀”的字符串是所有字符串中的第几个。换句话说,就是求出“最优秀”的字符串的下标(下标从 11 开始)。

3
aaa 10
bbb 20
aaa 30
2
5
aaa 9
bbb 10
ccc 10
ddd 10
bbb 11
2
10
bb 3
ba 1
aa 4
bb 1
ba 5
aa 9
aa 2
ab 6
bb 5
ab 3
8

提示

制約

  • 1  N  105 1\ \leq\ N\ \leq\ 10^5
  • Si S_i は英小文字からなる文字列
  • Si S_i の長さは 1 1 以上 10 10 以下
  • 0  Ti  109 0\ \leq\ T_i\ \leq\ 10^9
  • N N , Ti T_i は整数

Sample Explanation 1

以下では早い方から i i 番目の提出を提出 i i と呼びます。 オリジナルな提出は提出 1 1 と 提出 2 2 です。提出 3 3 は提出 1 1 と文字列が一致しているためオリジナルではありません。 オリジナルな提出のうち最も得点が高い提出は提出 2 2 です。よってこれが最優秀賞になります。

Sample Explanation 2

オリジナルな提出は提出 1 1 ・提出 2 2 ・提出 3 3 ・提出 4 4 です。 その中で最も得点が高い提出は提出 2 2 ・提出 3 3 ・提出 4 4 です。この場合はこの中でもっとも提出の早い提出 2 2 を最優秀賞とします。 このように、オリジナルな提出の中で最も得点が高い提出が複数ある場合は、さらにその中で最も提出が早いものを最優秀賞とするのに注意してください。