AT_arc021_3.[ARC021C] 増築王高橋君
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君正在和朋友们玩一个游戏。
在这个游戏中,玩家的目标是购买建筑物并对其进行扩建,以赚取尽可能多的钱。
目前高桥君排名第 2,他必须想办法赚到比首位的青木君更多的钱。
高桥君计划通过获得授予扩建次数最多者的称号“扩建王”,利用政府的补助金来取得胜利。凭借多年的经验,他知道只要再扩建 K 次就能成为扩建王。
高桥君目前拥有 N 栋建筑。每栋建筑编号为 1 到 N。一开始,所有建筑都没有被扩建过。
对于第 i 栋建筑(1≤i≤N),已知以下信息:
- 第 i 栋建筑扩建前的价格为 Ai。
- 对第 i 栋建筑进行一次扩建,需要支付等于该建筑当前价格的费用。
- 每对第 i 栋建筑扩建一次,其价格就会上升 Di。
高桥君还在同时进行其他策略,因此他希望用于扩建的总花费尽可能少。
请你帮高桥君计算,完成 K 次扩建所需的最小总费用。
输入格式
输入通过标准输入给出,格式如下:
K
N
A1 D1
A2 D2
⋮
AN DN
- 第 1 行给出成为扩建王所需的扩建次数 K,满足 1≤K≤108。
- 第 2 行给出高桥君拥有的建筑数量 N,满足 1≤N≤105。
- 接下来的 N 行,每行包含两个整数 Ai(1≤Ai≤103)和 Di(1≤Di≤103),分别表示第 i 栋建筑扩建前的价格和每次扩建后价格的增加量。
输出格式
输出完成 K 次扩建所需的最小总费用。输出应为一行,末尾带换行符。
输入输出样例
输入#1
4 3 10 3 12 4 15 5
输出#1
50
输入#2
8 4 1 1 10 1 100 1 1000 1
输出#2
36
说明/提示
部分分
本题设有部分分。
- 若能通过满足 K≤300 且 N≤300 的数据集 1,可得 30 分。
- 若能通过满足 K≤5,000 且 N≤5,000 的数据集 2,可再得 10 分。
- 若能通过满足 K≤105 的数据集 3,可再得 15 分。
- 若能通过无额外限制的数据集 4,可再得 45 分。
样例解释 1
例如,可以按如下方式扩建:
- 扩建第 1 栋建筑。当前价格为 10,总花费为 10。扩建后价格变为 13。
- 再次扩建第 1 栋建筑。当前价格为 13,总花费为 23。扩建后价格变为 16。
- 扩建第 2 栋建筑。当前价格为 12,总花费为 35。扩建后价格变为 16。
- 扩建第 3 栋建筑。当前价格为 15,总花费为 50。扩建后价格变为 20。
如此,完成 4 次扩建所需的总花费为 50。
样例解释 2
对第 1 栋建筑扩建 8 次。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?