南沙C++信奥赛陈老师解一本通题 2099:【23CSPJ普及组】公路(road)

 

2099:【23CSPJ普及组】公路(road)


时间限制: 1000 ms         内存限制: 524288 KB
提交数:3793    通过数: 1575

【题目描述】

小苞准备开着车沿着公路自驾。

公路上一共有 nn 个站点,编号为从 11 到nn。其中站点 ii 与站点i+1i+1 的距离为vivi 公里。

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

小苞想从站点 11 开车到站点 nn,一开始小苞在站点 11 且车的油箱是空的。已知车的油箱足够大,可以装下任意多的油,且每升油可以让车前进dd 公里。问小苞从站点 11 开到站点 nn,至少要花多少钱加油?

【输入】

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

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

输入的第三行包含 nn 个正整数 a1a1,a2a2…anan ,分别表示在不同站点加油的价格。

【输出】

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

【输入样例】

5 4
10 10 10 10
9 8 9 6 5

【输出样例】

79

【提示】

【样例 1 解释】

最优方案下:小苞在站点 11 买了 33 升油,在站点22 购买了 55 升油,在站点 44 购买了 22 升油。

【数据范围】

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

测试点 n≤ 特殊性质
1∼5 8
6∼10 103
11∼13 105 A
14∼16 105 B
17∼20 105

 

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

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

 

 

#include <bits/stdc++.h>
using namespace std;
long long  v[100001], a[100001]; //v为站点距离 a为不同站点的加油价格 
int main()
{long long n,d;double oil=0,leave=0;//leave 表示目前还剩多少升油 long long money=0;cin>>n>>d;for(int i=1;i<=n-1;i++)cin>>v[i];for(int i=1;i<=n;i++)cin>>a[i];int i=1;while(i<=n)		//站点  {int j=i+1;for(;j<=n-1;j++) //贪心算法,加油加到到比目前站点小的价格 if(a[i]>a[j])break;double dis=0;for(int k=i+1;k<=j;k++)	 	//加油的距离即为i站点到j点的距离dis+=v[k-1];			//注意距离即为前站点i-1的距离		oil=dis/d-leave;		    double buy=ceil(oil);leave=buy-oil;money+=buy*a[i];i=i!=j?j:i++;		//不能用for,否则i=j后,i会继续加1 }cout<<money;		return 0;
}

 

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

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

相关文章

Leetcode 540. 有序数组中的单一元素

1.题目基本信息 1.1.题目描述 给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。 1.2.题目地址 https://leetcode.cn/problems/sin…

六、redis之set

Redis集合是成员的无序集合。可以用来保存唯一的成员。 注意:对于以下的命令,涉及删除成员的,如果集合中的所有元素都被移除,则集合会被删除。如果集合原先不存在,被当作空集合。 SADD SADD key member [member ...]sadd命令将一系列成员添加到set中。SMEMBERS SMEMBERS k…

IDEA创建Gradle工程-实践

1、下载Gradle 下载地址:https://gradle.org/install/#manually 进入后点击【Binary-only】下载zip包。 (国内下载可能慢,可用阿里镜像:https://mirrors.aliyun.com/macports/distfiles/gradle/)2、安装Gradle 解压zip到自定义目录:G:\OriginLib\gradle-8.9配置环境变量 …

Leetcode 2300. 咒语和药水的成功对数

1.题目基本信息 1.1.题目描述 给你两个正整数数组 spells 和 potions ,长度分别为 n 和 m ,其中 spells[i] 表示第 i 个咒语的能量强度,potions[j] 表示第 j 瓶药水的能量强度。 同时给你一个整数 success 。一个咒语和药水的能量强度 相乘 如果 大于等于 success ,那么它们…

java 反序列化 cc1 复现

cc1java反序列化cc1漏洞复现,环境commoncollections3.2.1, java8u65. 分析的时候从执行命令的部分开始,一点一点的倒退回反序列化接口.目的:在java反序列化的时候会利用构造函数来进行对象的构造,那么我们的目标就是只调用构造函数来执行命令. 源码剖析 Transformer 一个接口,定…

吴恩达机器学习课程 笔记5 神经网络

神经网络原理 神经网络是一种受生物神经系统启发的计算模型,用于学习和处理复杂的数据模式。神经网络通过一系列相互连接的简单处理单元(称为神经元或节点)来模拟大脑的功能。下面详细介绍神经网络的基本原理。 神经网络的基本构成神经元(Neuron):神经元是神经网络的基本…

在树莓派上部署yolo模型推理并使用onnx加速

首先在这里感谢一下这位大佬:学不会电磁场的个人空间-学不会电磁场个人主页-哔哩哔哩视频 (bilibili.com) 这里使用的代码是从手把手教你使用c++部署yolov5模型,opencv推理onnx模型_哔哩哔哩_bilibili处来的我这里只记录下更换成自己的模型的应用以及提供一份全注释的版本树莓…

Redis 发布订阅模式

概述 Redis 的发布/订阅是一种消息通信模式:发送者(Pub)向频道(Channel)发送消息,订阅者(Sub)接收频道上的消息。Redis 客户端可以订阅任意数量的频道,发送者也可以向任意频道发送数据。在发送者向频道发送一条消息后,这条消息就会被发送到订阅该频道的客户端(Sub)…

01-什么是逻辑?

感觉 知觉 感性认识 理性认识 感觉 知觉 表象 形象思维 ==》概念 在感性认识的基础上,人们通过抽象与概括,舍弃个别事物表面的、次要的属性,而把握住一类事物特有的、共同的、本质的属性,于是就形成了反映事物的概念。 直观性与个别性是感觉、知觉与表象的特点;抽…

十五款好看的键帽,总有一款适合你✔

在客制化键盘的时候,发现了不少挺好看的键帽,特地来分享一波。在客制化键盘的时候,发现了不少挺好看的键帽,特地来分享一波。 不含广告哈,只会列出一些搜索关键词,可以在各大电商搜索查到。 如果你已经有了键盘,也可以看看是否支持拆卸键帽,偶尔换换键帽调整心情。 PS:…

10-入侵检测技术原理与应用

10.1 入侵检测概述 1)概念 20世纪 80年代初期,安全专家认为: “入侵是指未经授权蓄意尝试访问信息、篡改信息,使系统不可用的行为。” 美国大学安全专家将入侵定义为 “非法进入信息系统,包括违反信息系统的安全策略或法律保护条例的动作”。 我们认为,入侵应与受害目标相…

Nexpose 6.6.271 发布下载,新增功能概览

Nexpose 6.6.271 发布下载,新增功能概览Nexpose 6.6.271 for Linux & Windows - 漏洞扫描 Rapid7 Vulnerability Management, release Sep 26, 2024 请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org您的…