#B4428. [CSP-X2025 山东] 勇者斗恶龙
[CSP-X2025 山东] 勇者斗恶龙
题目描述
为了拯救世界,勇者们终于来到了恶龙面前。
现在有 位勇者排成一列准备迎战恶龙,勇者们位置事先已经排好不能改变,第 位勇者的初始能力值为 ,且每提升 1 点能力值,需要花费 的代价。
但是如果任意相邻的两位勇者能力值相同,他们之间就会产生冲突从而导致战力大幅下降。
你可以通过提升勇者的能力值,来确保队伍中任意相邻的两名勇者能力值都不相同,从而以完美的状态迎接恶龙。
你只需要计算并输出满足条件所花费的最小的总代价。
输入格式
第一行一个整数 ,表示勇士的数量。
接下来 行,每行两个数 分别表示第 位勇士的初始能力值和每提升 1 点能力值需要花费的代价。
输出格式
一行一个整数表示答案。
3
1 5
1 2
2 3
4
3
1 10
1 100
1 20
30
提示
【样例 1 解释】
如果把第一个勇者能力值增加 ,三位勇者的能力值变成 ,花费代价 。
如果把第二个勇者能力值增加 ,三位勇者的能力值变为 ,花费代价 。
如果把第二个勇者能力值增加 ,第三个勇者的能力值增加 ,三位勇者的能力值变为 ,花费代价 。
因此最小花费的代价为 ,可以证明没有更小的代价能满足条件。
【样例 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 的限制。
【数据范围】
::cute-table{tuack}
| 测试点 | 特殊性质 | ||
|---|---|---|---|
| 无 | |||
| 无 |