长春理工大学第十四届程序设计竞赛(重现赛)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每天有很多作业要完成,例如工图.工图和工图 ...
随机推荐
- ADO.net Connection对象简介
Connection对象 学习的是刘皓的文章 ADO.NET入门教程(四) 品味Connection对象 这篇文章开始水平一般起来了,主要介绍了要优雅的使用这个对象 1 用try...catch.. ...
- React学习(3)——ref,key,PureComponent,bindActionCreator
ref 如果在html里设置ref那么它就指向这个真实的DOM节点. 如果在组件里设置ref,那么它就指向这个组件实例的引用,和组件里面的this互等. 我们经常在表单input,select里使用, ...
- Webx框架:Pipeline基本介绍
Pipeline. 它是管道的含义.一个管道阀门可以安装非常多.有许多可能的分支.它是用来控制页处理.它需要在被定义pipeline.xml文件.该文件是为每个阀的标签.该文件可以放一些简单的控制语句 ...
- 经典c开源项目
1. Webbench Webbench是一个在Linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连 ...
- glibc 内存申请和释放及堆连续检查
C语言有两种内存申请方式: 1.静态申请:当你声明全局或静态变量的时候,会用到静态申请内存.静态申请的内存有固定的空间大小.空间只在程序开始的时候申请一次,并且不再释放(除非程序结束). 2.自动申请 ...
- jquery动态创建小广告
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- C# WebRequest WebResponse的使用
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- ARM中 __IO的作用解析
__IO在头文件中预定义 #define __IO volatile volatile 影响编译器编译的结果, 指出:volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要 ...
- Android 调试桥(adb)是多种用途的工具
Android 调试桥 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理 ...
- iOS中的加密操作
最近项目中用到了一些加密操作,在这里简单总结了一下.总的来说加密分为对称加密和非对称加密两种,下面对这两种加密方式作一个简单的说明. 对称加密(Symmetric Cryptography) 对称加密 ...