D. [CSP-X 2025] 勇者斗恶龙

    传统题 1000ms 256MiB

[CSP-X 2025] 勇者斗恶龙

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

勇者斗恶龙(hero)

【题目描述】

为了拯救世界,勇者们终于来到了恶龙面前。 现在有n位勇者排成一列准备迎战恶龙,勇者们位置事先已经排好不能改变,第i位勇者的初始能力值为 aia_i,且每提升1点能力值,需要花费 bib_i 的代价。 但是如果任意相邻的两位勇者能力值相同,他们之间就会产生冲突从而导致战力大幅下降。 你可以通过提升勇者的能力值,来确保队伍中任意相邻的两名勇者能力值都不相同,从而以完美的状态迎接恶龙。 你只需要计算并输出满足条件所花费的最小的总代价。

【输入格式】

从文件 hero.in 中读入数据。 第一行一个整数 n ,表示勇士的数量。 接下来 n 行,每行两个数 ai,bia_i, b_i 分别表示第 i 位勇士的初始能力值和每提升1点能力值需要花费的代价。

【输出格式】

输出到文件 hero.out 中。 一行一个整数表示答案。

【样例 1 输入】

3
1 5
1 2
2 3

【样例 1 输出】

4

【样例 1 解释】

如果把第一个勇者能力值增加 1,三位勇者的能力值变成 (2,1,2),花费代价 5。 如果把第二个勇者能力值增加 2,三位勇者的能力值变为 (1,3,2),花费代价 4。 如果把第二个勇者能力值增加 1,第三个勇者的能力值增加 1,三位勇者的能力值变为

(1,2,3),花费代价 5。 因此最小花费的代价为 4,可以证明没有更小的代价能满足条件。

【样例 2 输入】

3
1 10
1 100
1 20

【样例 2 输出】

30

【样例 2 解释】

可以分别提升第一位和第三位勇士的能力值1点,最小总花费为 30。

【样例 3】

见选手目录下的 hero/ex_hero3.in 与 hero/ex_hero3.ans。 该样例满足数据范围中测试点第9~10的限制。

【样例 4】

见选手目录下的 hero/ex_hero4.in 与 hero/ex_hero4.ans。 该样例满足数据范围中测试点第11~12的限制。

【样例 5】

见选手目录下的 hero/ex_hero5.in 与 hero/ex_hero5.ans。 该样例满足数据范围中测试点第13~20的限制。

【数据范围】

测试点 n ≤ 1 ≤ aᵢ, bᵢ ≤ 特殊性质
1~4 10 10
5~8 100
9~10 10⁵ aᵢ = 1
11~12 bᵢ = 1
13~20 2 × 10⁵ 10⁹

CSP-X 2025 (官方数据)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2025-11-7 18:30
结束于
2025-11-16 2:30
持续时间
200 小时
主持人
参赛人数
6