题库首页 › 信息学奥赛 › 题目 10348

公路(road) 【题目描述】 小苞准备开着车沿着公路自驾。 公路上一共有n个站点,编号为从1到n。其中站点i与站点i+1的距离为vi公里。 公路上每个站点都可以加油,编号为i的站点一升油的价格为ai元,且每个站点只出售整数升的油。 小苞想从站点1开车到站点n,一开始小苞在站点1且车的油箱是空的。已知车的油箱足够大,可以装下任意多的油,且每升油可以让车前进d公里。问小苞从站点1开到站点n,至少要花多少钱加油? 【输入格式】 从文件road.in中读入数据。 输入的第一行包含两个正整数n和d,分别表示公路上站点的数量和车每升油可以前进的距离。 输入的第二行包含n−1个正整数v1,v2...vn−1,分别表示站点间的距离。 输入的第二行包含n个正整数a1,a2...an,分别表示在不同站点加油的价格。 【输出格式】 输出到文件road.out中。 输出一行,仅包含一个正整数,表示从站点1开到站点n,小苞至少要花多少钱加油。 【样例1输入】 1 5 4 2 10 10 10 10 3 9 8 9 6 5 【样例1输出】 1 79 【样例1解释】 最优方案下:小苞在站点1买了3升油,在站点2购买了5升油,在站点4购买了2升油。 【样例2】 见选手目录下的road/road2.in与road/road2.ans。

公路(road) 【题目描述】 小苞准备开着车沿着公路自驾。 题目配图

正确答案:贪心:在站点i只需买到下一个比i便宜的站点所需油量,若后方无更便宜则买到终点;油价低的站多买。累计花费

试卷来源:2023 CSP-J入门级(第一轮)C++真题

本卷相关题目

在线做题 同科目题库