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. ADO.net Connection对象简介

    Connection对象 学习的是刘皓的文章  ADO.NET入门教程(四) 品味Connection对象 这篇文章开始水平一般起来了,主要介绍了要优雅的使用这个对象 1 用try...catch.. ...

  2. React学习(3)——ref,key,PureComponent,bindActionCreator

    ref 如果在html里设置ref那么它就指向这个真实的DOM节点. 如果在组件里设置ref,那么它就指向这个组件实例的引用,和组件里面的this互等. 我们经常在表单input,select里使用, ...

  3. Webx框架:Pipeline基本介绍

    Pipeline. 它是管道的含义.一个管道阀门可以安装非常多.有许多可能的分支.它是用来控制页处理.它需要在被定义pipeline.xml文件.该文件是为每个阀的标签.该文件可以放一些简单的控制语句 ...

  4. 经典c开源项目

    1. Webbench Webbench是一个在Linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连 ...

  5. glibc 内存申请和释放及堆连续检查

    C语言有两种内存申请方式: 1.静态申请:当你声明全局或静态变量的时候,会用到静态申请内存.静态申请的内存有固定的空间大小.空间只在程序开始的时候申请一次,并且不再释放(除非程序结束). 2.自动申请 ...

  6. jquery动态创建小广告

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  7. C# WebRequest WebResponse的使用

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  8. ARM中 __IO的作用解析

    __IO在头文件中预定义 #define __IO volatile volatile 影响编译器编译的结果, 指出:volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要 ...

  9. Android 调试桥(adb)是多种用途的工具

    Android 调试桥 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理 ...

  10. iOS中的加密操作

    最近项目中用到了一些加密操作,在这里简单总结了一下.总的来说加密分为对称加密和非对称加密两种,下面对这两种加密方式作一个简单的说明. 对称加密(Symmetric Cryptography) 对称加密 ...