长春理工大学第十四届程序设计竞赛(重现赛)J
J.Printout
题目:链接:https://ac.nowcoder.com/acm/contest/912/J
题目:
小r为了打校赛,他打算去打字社打印一份包含世界上所有算法的模板。
到了打字社,小r一看价格:总打印页数X0页以下(不含X0)x0元每页,X0∼X1页(不含X1)x1元每页,X1∼X2页(不含X2)x2元每页,X2∼X3页(不含X3)x3元每页,X3∼X4页(不含X4)x4
元每页……
小r转念一想,他可以多放一些白纸在模板里面,还能花更少的钱。
给出小r要打印的模板页数n以及价格列表X和x,小r想知道他打印的最少花费为多少钱?
注意:小r只能打印一次,不能将一篇文章分多次打印。
输入描述:
输入包含三行,
第一行输入两个数n,m,(1≤n,m≤1000)
,m为价格列表的长度。
第二行输入m个整数,代表X0,X1,...,Xm−1,(1≤Xi≤1000)。
第二行输入m个实数,代表x0,x1,...,xm−1,(0≤xi≤1)。
n,X,x含义见题目描述。题目保证X为升序且Xm−1>n。
输出描述:
输出最少花费的钱数。
你的答案与标准答案误差在±0.001范围以内都算正确。
示例1
输入
190 2
200 500
0.2 0.15
输出
30
备注:
什么?你想打印的页数大于Xm−1?不行!
思路
先找到符合条件的打印页数,计算不添加空白纸张的话需要打印的费用,然后计算添加空白纸张后,该页数之后的所有页数与价格交叉相乘的结果,输出最小值即可。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=2e5+;
struct money{ int page;
double doll;
}money[maxn];
int main()
{
int n,m;
cin>>n>>m;
double cun[maxn];
int res=,res1=;
for(int i=;i<m;i++)
{
cin>>money[i].page;
if(money[i].page>n&&res1!=)
{
res=i;res1=;
}
}
// cout<<"res="<<res<<endl;
for(int i=;i<m;i++)
cin>>money[i].doll;
int book=;
cun[]=n*money[res].doll;
for(int i=res;i<m-;i++)
{
//cout<<money[i].page<<" "<<money[i+1].doll<<"mmmm"<<endl;
cun[++book]=money[i].page*money[i+].doll;
}
sort(cun,cun+book+);
cout<<cun[]<<endl;
return ;
}
长春理工大学第十四届程序设计竞赛(重现赛)J的更多相关文章
- 长春理工大学第十四届程序设计竞赛(重现赛)M.Orx Zone
链接:https://ac.nowcoder.com/acm/contest/912/M 题意: Daenerys Stormborn, 风暴中出生的丹尼莉丝,the Unburnt, 烧不死的,Qu ...
- 长春理工大学第十四届程序设计竞赛(重现赛)L.Homework Stream
链接:https://ac.nowcoder.com/acm/contest/912/L 题意: 作为大珩班尖子生,小r每天有很多作业要完成,例如工图.工图和工图. 很显然,做作业是要有顺序的.作业之 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)J.Printout
链接:https://ac.nowcoder.com/acm/contest/912/J 题意: 小r为了打校赛,他打算去打字社打印一份包含世界上所有算法的模板. 到了打字社,小r一看价格:总打印页数 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)I.Fate Grand Order
链接:https://ac.nowcoder.com/acm/contest/912/I 题意: Fate Grand Order是型月社发行的角色扮演类手机游戏,是著名的氪金抽卡"垃圾&q ...
- 长春理工大学第十四届程序设计竞赛(重现赛)H.Arithmetic Sequence
题意: 数竞选手小r最喜欢做的题型是数列大题,并且每一道都能得到满分. 你可能不相信,但其实他发现了一个结论:只要是数列,无论是给了通项还是给了递推式,无论定义多复杂,都可以被搞成等差数列.这样,只要 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)F.Successione di Fixoracci
链接:https://ac.nowcoder.com/acm/contest/912/F 题意: 动态规划(Dynamic programming,简称dp)是一种通过把原问题分解为相对简单的子问题的 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)B.Bowling Game
链接:https://ac.nowcoder.com/acm/contest/912/B 题意: 链接:https://ac.nowcoder.com/acm/contest/912/B来源:牛客网 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)I
I.Fate Grand Order 题目链接:https://ac.nowcoder.com/acm/contest/912/I 题目: Fate Grand Order是型月社发行的角色扮演类手机 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)L
L.Homework Stream 题目链接:https://ac.nowcoder.com/acm/contest/912/L 题目 作为大珩班尖子生,小r每天有很多作业要完成,例如工图.工图和工图 ...
随机推荐
- 像职业选手样编码:地道Python
Code Like a Pythonista: Idiomatic Python David Goodger goodger@python.org http://python.net/~goodger ...
- 漫步Unity3D(三)
八.预制(Prefab) 仅此一点提出,由于它使用过于频繁. 还Unity 一中的核心要素.原本Unity你拖放模型到场景中的一个对象,或者,创建一个几何.或浅的地形.个物体的偏移.旋转和缩放.然后绑 ...
- OpenGl(二)点线设置、多边形镂空
1. 改变点的大小 OpenGL中默认点的大小是1个像素,使用函数glPointSIze可以调整点的大小,入参是GLfloat,相当于是浮点数. 相关代码: void myDisplay(void) ...
- Oracle实践--PL/SQL综合之分页存储过程
Oracle PL/SQL分页的存储过程 Oracle,分页,存储过程三个词结合起来,来个综合点的小练习,运用之前的PL/SQL创建一个分页的存储过程,仅仅须要简单几步就可以. 1.声明一个引用游标 ...
- python 教程 第八章、 第一个python程序
第八章. 第一个python程序 #!/usr/bin/env python import os import sys import time source = [r'G:\s1', r'G:\s2' ...
- WPF使用MediaElement显示gif图片
原文:WPF使用MediaElement显示gif图片 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/SANYUNI/article/details ...
- Android正在使用Handler实现消息分发机制(零)
演讲前,AsyncTask文章.我们在最后谈到.AsyncTask它是利用Handler异步消息处理机制,操作结果.使用Message回到主线程,从而执行UI更新线程. 而在我们的日常开发工作,Han ...
- WPF学习目录
基本概念 数据源Source-目标Target WPF生命周期 App.xaml 依赖属性 WPF路由 线程操纵UI问题 利用属性中设置.查看DataContext/Command等 分析布局 写数据 ...
- sql Left right join 多表 注意表的连接顺序
多表左/右连接,表的连接顺序也可以影响查询速度 左连接时,应该把小表放在前面连接例子:A.B.C三表左连接情况1:A先和B连接,得到100条记录100条记录再和C左连接情况2:A先和C连接,得到50条 ...
- redis 从0到1 linux下的安装使用 数据类型 以及操作指令 一
安装 redis 到 /usr/目录下 我这里安装的是redis-3.2.9.tar.gz tar zxvf redis-3.2.9.tar.gz -C /usr 然后进行 执行编译命令 mak ...