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的更多相关文章

  1. 长春理工大学第十四届程序设计竞赛(重现赛)M.Orx Zone

    链接:https://ac.nowcoder.com/acm/contest/912/M 题意: Daenerys Stormborn, 风暴中出生的丹尼莉丝,the Unburnt, 烧不死的,Qu ...

  2. 长春理工大学第十四届程序设计竞赛(重现赛)L.Homework Stream

    链接:https://ac.nowcoder.com/acm/contest/912/L 题意: 作为大珩班尖子生,小r每天有很多作业要完成,例如工图.工图和工图. 很显然,做作业是要有顺序的.作业之 ...

  3. 长春理工大学第十四届程序设计竞赛(重现赛)J.Printout

    链接:https://ac.nowcoder.com/acm/contest/912/J 题意: 小r为了打校赛,他打算去打字社打印一份包含世界上所有算法的模板. 到了打字社,小r一看价格:总打印页数 ...

  4. 长春理工大学第十四届程序设计竞赛(重现赛)I.Fate Grand Order

    链接:https://ac.nowcoder.com/acm/contest/912/I 题意: Fate Grand Order是型月社发行的角色扮演类手机游戏,是著名的氪金抽卡"垃圾&q ...

  5. 长春理工大学第十四届程序设计竞赛(重现赛)H.Arithmetic Sequence

    题意: 数竞选手小r最喜欢做的题型是数列大题,并且每一道都能得到满分. 你可能不相信,但其实他发现了一个结论:只要是数列,无论是给了通项还是给了递推式,无论定义多复杂,都可以被搞成等差数列.这样,只要 ...

  6. 长春理工大学第十四届程序设计竞赛(重现赛)F.Successione di Fixoracci

    链接:https://ac.nowcoder.com/acm/contest/912/F 题意: 动态规划(Dynamic programming,简称dp)是一种通过把原问题分解为相对简单的子问题的 ...

  7. 长春理工大学第十四届程序设计竞赛(重现赛)B.Bowling Game

    链接:https://ac.nowcoder.com/acm/contest/912/B 题意: 链接:https://ac.nowcoder.com/acm/contest/912/B来源:牛客网 ...

  8. 长春理工大学第十四届程序设计竞赛(重现赛)I

    I.Fate Grand Order 题目链接:https://ac.nowcoder.com/acm/contest/912/I 题目: Fate Grand Order是型月社发行的角色扮演类手机 ...

  9. 长春理工大学第十四届程序设计竞赛(重现赛)L

    L.Homework Stream 题目链接:https://ac.nowcoder.com/acm/contest/912/L 题目 作为大珩班尖子生,小r每天有很多作业要完成,例如工图.工图和工图 ...

随机推荐

  1. 像职业选手样编码:地道Python

    Code Like a Pythonista: Idiomatic Python David Goodger goodger@python.org http://python.net/~goodger ...

  2. 漫步Unity3D(三)

    八.预制(Prefab) 仅此一点提出,由于它使用过于频繁. 还Unity 一中的核心要素.原本Unity你拖放模型到场景中的一个对象,或者,创建一个几何.或浅的地形.个物体的偏移.旋转和缩放.然后绑 ...

  3. OpenGl(二)点线设置、多边形镂空

    1. 改变点的大小 OpenGL中默认点的大小是1个像素,使用函数glPointSIze可以调整点的大小,入参是GLfloat,相当于是浮点数. 相关代码: void myDisplay(void) ...

  4. Oracle实践--PL/SQL综合之分页存储过程

    Oracle PL/SQL分页的存储过程 Oracle,分页,存储过程三个词结合起来,来个综合点的小练习,运用之前的PL/SQL创建一个分页的存储过程,仅仅须要简单几步就可以. 1.声明一个引用游标 ...

  5. python 教程 第八章、 第一个python程序

    第八章. 第一个python程序 #!/usr/bin/env python import os import sys import time source = [r'G:\s1', r'G:\s2' ...

  6. WPF使用MediaElement显示gif图片

    原文:WPF使用MediaElement显示gif图片 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/SANYUNI/article/details ...

  7. Android正在使用Handler实现消息分发机制(零)

    演讲前,AsyncTask文章.我们在最后谈到.AsyncTask它是利用Handler异步消息处理机制,操作结果.使用Message回到主线程,从而执行UI更新线程. 而在我们的日常开发工作,Han ...

  8. WPF学习目录

    基本概念 数据源Source-目标Target WPF生命周期 App.xaml 依赖属性 WPF路由 线程操纵UI问题 利用属性中设置.查看DataContext/Command等 分析布局 写数据 ...

  9. sql Left right join 多表 注意表的连接顺序

    多表左/右连接,表的连接顺序也可以影响查询速度 左连接时,应该把小表放在前面连接例子:A.B.C三表左连接情况1:A先和B连接,得到100条记录100条记录再和C左连接情况2:A先和C连接,得到50条 ...

  10. redis 从0到1 linux下的安装使用 数据类型 以及操作指令 一

    安装 redis 到 /usr/目录下 我这里安装的是redis-3.2.9.tar.gz tar zxvf  redis-3.2.9.tar.gz  -C  /usr 然后进行 执行编译命令 mak ...