寒假每日一题-公路

小苞准备开着车沿着公路自驾。公路上一共有 n个站点,编号为从 1 到 n。其中站点 i与站点 i+1 的距离为 vi公里。

公路上每个站点都可以加油,编号为 i的站点一升油的价格为 ai元,且每个站点只出售整数升的油。

小苞想从站点 1开车到站点 n,一开始小苞在站点 1且车的油箱是空的。已知车的油箱足够大,可以装下任意多的油,且每升油可以让车前进 d公里。

问小苞从站点 1开到站点 n,至少要花多少钱加油?

输入格式

输入的第一行包含两个正整数 n和 d,分别表示公路上站点的数量和车每升油可以前进的距离。

输入的第二行包含 n−1个正整数 v1,v2…vn−1,分别表示站点间的距离。

输入的第三行包含 n个正整数 a1,a2…an,分别表示在不同站点加油的价格。

输出格式

输出一行,仅包含一个正整数,表示从站点 1开到站点 n,小苞至少要花多少钱加油。

数据范围

对于所有测试数据保证:1≤n≤105,1≤d≤105,1≤vi≤105,1≤ai≤105。

QQ截图20231030145527.png

特殊性质 A:站点 1的油价最低。

特殊性质 B:对于所有 1≤i<n,vi 为 d的倍数。

输入样例:
5 4
10 10 10 10
9 8 9 6 5
输出样例:
79
样例解释

最优方案下:小苞在站点 1买了 3 升油,在站点 2 购买了 5 升油,在站点 4 购买了 2 升油。

思路:赊账,倒推,比如:

我现在在站点5,站点4-5之间的油在1、2、3、4最便宜的地方加,

我到了站点 6 ,站点5-6之间的油在1、2、3、4、5最便宜的地方加,如此类推...

代码
#include<iostream>
using namespace std;
using ll = long long;
const int N = 1e5 + 10;
int v[N],a[N];
int main()
{int n, d;//站点数量和每升油可前进距离cin >> n >> d;for (int i = 1; i < n; ++i)cin >> v[i];//站点间的距离for (int i = 1; i < n; ++i)cin >> a[i];//不同站点加油价格ll res = 0, oil = 0, list = 0;int price = a[1];for (int i = 2; i <= n; i++){list += v[i - 1];ll t = (list + d - 1) / d - oil;//需要的油res += t*price;oil += t;price = min(price, a[i]);}cout<<res;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/638302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

golang学习笔记——http.Handle和http.HandleFunc的区别与type func巧妙运用

文章目录 http.Handle和http.HandleFunc的区别http.Handle分析type func巧妙运用 http.HandleFunc分析总结参考资料 http.Handle和http.HandleFunc的区别 http.Handle和http.HandleFunc的区别体现了Go语言接口的巧妙运用 下面代码启动了一个 http 服务器&#xff0c;监听 808…

基于python的数字识别-含数据集和代码

数据集介绍&#xff0c;下载本资源后&#xff0c;界面如下&#xff1a; 有一个文件夹一个是存放数据集的文件。 数据集介绍&#xff1a; 一共含有:16个类别&#xff0c;包含:division, eight, five, four, left_bracket, minus, multiplication, nine, one, plus, right_brac…

Golang杀死子进程的三种方式

目录 前言 正文 一、cmd.Process.Kill() 二、syscall.Kill 三、cmd.Process.Signal 结论 前言 熟悉Golang语言的小伙伴一定都知道&#xff0c;杀死子进程有三种方式&#xff0c;今天就来简单介绍一下。 正文 Golang中有三种方式可以杀死子进程&#xff0c;分别是cmd.P…

逻辑回归中的损失函数

一、引言 逻辑回归中的损失函数通常采用的是交叉熵损失函数&#xff08;cross-entropy loss function&#xff09;。在逻辑回归中&#xff0c;我们通常使用sigmoid函数将线性模型的输出转换为概率值&#xff0c;然后将这些概率值与实际标签进行比较&#xff0c;从而计算损失。 …

《Windows核心编程》若干知识点应用实战分享

目录 1、进程的虚拟内存分区与小于0x10000的小地址内存区 1.1、进程的虚拟内存分区 1.2、小于0x10000的小地址内存区 2、保存线程上下文的CONTEXT结构体 3、从汇编代码角度去理解多线程运行过程的典型实例 4、调用TerminateThread强制结束线程会导致线程中的资源没有释放…

C#练习 — 第一期(帮助卢锡安给他的女朋友准备晚餐)

前言 纸上得来终觉浅&#xff0c;绝知此事要躬行。我们之前学习了C#许多基础知识&#xff0c;但很少有练习&#xff0c;今天开始&#xff0c;我们将通过练习题的形式&#xff0c;巩固此前学到的知识点&#xff0c;加油&#xff01; 目录 提示 要求 分步实现 构建框架预定义…

多人在线聊天交友工具,匿名聊天室网站源码,附带搭建教程

源码介绍 匿名聊天室&#xff08;nodejs vue&#xff09; 多人在线聊天交友工具&#xff0c;无需注册即可畅所欲言&#xff01;你也可以放心讲述自己的故事&#xff0c;说出自己的秘密&#xff0c;因为谁也不知道对方是谁。 运行说明 安装依赖项&#xff1a;npm install 启动…

Web server failed to start.Port xxxx was already in use.

目录 一、报错截图&#xff1a;二、解决方式 一、报错截图&#xff1a; 某端口被占用,导致出现如下报错&#xff1a; 二、解决方式 windowsR 输入cmd—>回车 如下图所示 查看被占用的端口的进程&#xff0c;如下图&#xff1a; netstat -ano |findstr 端口号结束这个进程…

python定义可调用的类型

除了用户定义的函数&#xff0c;调用运算符&#xff08;即 ()&#xff09;还可以应用到其他对象上。如果想判断对象能否调用&#xff0c;可以使用内置的 callable() 函数。Python 数据模型文档列出了 7 种可调用对象。 使用 def 语句或 lambda 表达式创建内置函数&#xff1a;…

【大模型研究】(1):从零开始部署书生·浦语2-20B大模型,使用fastchat和webui部署测试,autodl申请2张显卡,占用显存40G可以运行

1&#xff0c;演示视频 https://www.bilibili.com/video/BV1pT4y1h7Af/ 【大模型研究】&#xff08;1&#xff09;&#xff1a;从零开始部署书生浦语2-20B大模型&#xff0c;使用fastchat和webui部署测试&#xff0c;autodl申请2张显卡&#xff0c;占用显存40G可以运行 2&…

WEB接口测试之Jmeter接口测试自动化 (三)(数据驱动测试)

接口测试与数据驱动 1简介 数据驱动测试&#xff0c;即是分离测试逻辑与测试数据&#xff0c;通过如excel表格的形式来保存测试数据&#xff0c;用测试脚本读取并执行测试的过程。 2 数据驱动与jmeter接口测试 我们已经简单介绍了接口测试参数录入及测试执行的过程&#xff0…

2024.1.15力扣每日一题——删除排序链表中的重复元素 II

2024.1.15 题目来源我的题解方法一 三指针虚拟头结点 题目来源 力扣每日一题&#xff1b;题序&#xff1a;82 我的题解 方法一 三指针虚拟头结点 先构建一个带虚拟头结点的链表&#xff0c;然后使用三个指针p,left,right&#xff0c;分别指向最右非重复节点&#xff0c;可能…

C++——数组、多维数组、简单排序、模板类vector

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

数据结构实验7:查找的应用

目录 一、实验目的 二、实验原理 1. 顺序查找 2. 折半查找 3. 二叉树查找 三、实验内容 实验一 任务 代码 截图 实验2 任务 代码 截图 一、实验目的 1.掌握查找的基本概念&#xff1b; 2.掌握并实现以下查找算法&#xff1a;顺序查找、折半查找、二叉树查找。 …

给github设置代理

1 引言 本文详细介绍了在 Linux 环境下配置和使用网络代理的步骤。包括使用环境变量设置代理的方法、在 Git 中配置代理的常用方法以及一些调试工具。这些内容对于需要在网络受限环境下使用 Git 的用户非常实用。 2 配置代理 export http_proxyhttp://host:port/ export h…

Python正则表达式Regular Expression初探

目录 Regular 匹配规则 单字符匹配 数量匹配 边界匹配 分组匹配 贪婪与懒惰 原版说明 特殊字符 转义序列 模块方法 函数说明 匹配模式 常用匹配规则 1. 匹配出所有整数 2. 匹配11位且13开头的整数 Regular Python的re模块提供了完整的正则表达式功能。正则表达式…

js算法不连续子序列

涉及力扣题目&#xff1a; 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 上一次我们说过如何求连续子序列&#xff0c;解决方法是模拟一个”棋盘“两两相同对撞&#xff0c;又因为是连续所以一定是对角线为上一组相同。这次有点变化&#xff0c;要求是非连续子序列。 …

前端上传图片至OSS

环境&#xff1a;VUE3NODEJS16 一、第一步肯定是引入依赖 在package.json文件中的dependencies加上"ali-oss": "^6.17.1"如下代码所示&#xff1a; //加入后的整体展示"dependencies": {"ali-oss": "^6.17.1"},然后在控制台…

【Delphi 基础知识 22】TStringList 的详细用法

文章目录 TStringList 与TStrings的区别TStringList 常用方法与属性 TStringList 类在Delphi中会经常使用到&#xff0c;我们这里一起来看看 TStringList 的详细用法. TStringList 与TStrings的区别 TStringList 和 TStrings 都是 Delphi 编程语言中用于处理字符串列表的类。它…

Win10升级Win11后卡顿了?

目录 关闭动画效果 任务栏居中改为居左 调整外观和性能 其他 当你看到最后&#xff0c;还知道哪些升级WIN11后必做的优化呢&#xff1f;欢迎在评论区分享出来&#xff01;❤️ win11上市目前也有一段时间了&#xff0c;想必很多大家都已经进行更新了。新的系统确实更加简洁…