#aBC315C. [ABC315C] Flavors

[ABC315C] Flavors

AT_abc315_c [ABC315C] Flavors

题目描述

NN 杯冰淇淋。
ii 杯的口味为 FiF_i,美味度为 SiS_iSiS_i 是偶数)。

你决定从 NN 杯冰淇淋中选出两杯来吃。
此时的满足度定义如下:

  • 吃掉的两杯冰淇淋的美味度分别为 s,ts, t(其中 sts \ge t)。
    • 如果两杯的口味不同,则满足度为 s+ts + t
    • 如果两杯的口味相同,则满足度为 s+t2s + \frac{t}{2}

请你求出可以达到的最大满足度。

输入格式

输入以如下格式从标准输入给出。

NN
F1F_1 S1S_1
F2F_2 S2S_2
\vdots
FNF_N SNS_N

输出格式

请输出最大满足度的整数值。

输入输出样例 #1

输入 #1

4
1 4
2 10
2 8
3 6

输出 #1

16

输入输出样例 #2

输入 #2

4
4 10
3 2
2 4
4 12

输出 #2

17

说明/提示

限制条件

  • 所有输入均为整数。
  • 2N3×1052 \le N \le 3 \times 10^5
  • 1FiN1 \le F_i \le N
  • 2Si1092 \le S_i \le 10^9
  • SiS_i 是偶数。

样例解释 1

考虑吃第 22 杯和第 44 杯冰淇淋。

  • 22 杯的口味为 22,美味度为 1010
  • 44 杯的口味为 33,美味度为 66
  • 两者口味不同,所以满足度为 10+6=1610+6=16。 因此,可以达到满足度 1616。无法得到比 1616 更大的满足度。

样例解释 2

考虑吃第 11 杯和第 44 杯冰淇淋。

  • 11 杯的口味为 44,美味度为 1010
  • 44 杯的口味为 44,美味度为 1212
  • 两者口味相同,所以满足度为 12+102=1712+\frac{10}{2}=17。 因此,可以达到满足度 1717。无法得到比 1717 更大的满足度。

由 ChatGPT 4.1 翻译