( ̄▽ ̄") 没钱了
( ̄▽ ̄") 没钱了
他行驶的道路是一条笔直的公路,在这条公路上,有 N (1 <= N <= 10,000) 个加油站,第i个加油站位于距离旅游点L[i]单位距离的地方,并且能够提供P[i]的汽油。
现在,他距离他的旅游点为L单位距离,并且此时小车有着P(1 <= P <= 1,000,000)升单位的汽油。
*假定他的小车比较高端,可以无限容纳汽油。
*结果及其中间结果均在int范围内。
*每向前行驶1单位距离消耗1单位汽油.
输入的第i个加油站距离旅游点的位置不是有序的。
滚来滚去……~(~o ̄▽ ̄)~o 。。。滚来滚去……o~(_△_o~) ~。。。
第2~N+1行,每行输入两个数值L[i]和P[i],分别表示每个加油站的距离旅游点位置L[i]单位距离和最多能加P[i]升的汽油。
第N+2行输入L和P,分别表当前位置距离旅游点L单位距离和小车最开始时有P单位汽油。
4
4 4
5 2
11 5
15 10
25 10
2
#include <iostream>
#include <stdio.h>
#include <queue>
#include <vector>
#include <algorithm>
using namespace std;
struct Node{int L,P;};
struct CMP_L{bool operator()(Node a,Node b){return a.L<b.L;}};
struct CMP_P{bool operator()(Node a,Node b){return a.P<b.P;}};
int main()
{
int N,i,j,L,P,Begin,Dic,Times;
Node NUM;
while(scanf("%d",&N)!=EOF)
{
priority_queue<Node,vector<Node>,CMP_L>ID_L;
priority_queue<Node,vector<Node>,CMP_P>ID_P;
for(i=;i<N;i++)
{
scanf("%d%d",&NUM.L,&NUM.P);
ID_L.push(NUM);
}
scanf("%d%d",&L,&P);
NUM.L=;NUM.P=;
ID_L.push(NUM); Begin=L;Times=;
while(!ID_L.empty())
{
NUM=ID_L.top();ID_L.pop();
Dic=Begin-NUM.L;
while(P-Dic<)
{
if(ID_P.empty())
{
Times=-;
break;
}
P+=ID_P.top().P;
ID_P.pop();
Times++;
}
if(Times==-)break;
P-=Dic;
Begin=NUM.L;
ID_P.push(NUM);
}
printf("%d\n",Times);
}
return ;
}
( ̄▽ ̄") 没钱了的更多相关文章
- ACM数论之旅7---欧拉函数的证明及代码实现(我会证明都是骗人的╮( ̄▽ ̄)╭)
欧拉函数,用φ(n)表示 欧拉函数是求小于等于n的数中与n互质的数的数目 辣么,怎么求哩?~(-o ̄▽ ̄)-o 可以先在1到n-1中找到与n不互质的数,然后把他们减掉 比如φ(12) 把12质因数分解 ...
- ACM数论之旅6---数论倒数,又称逆元(我整个人都倒了( ̄﹏ ̄))
数论倒数,又称逆元(因为我说习惯逆元了,下面我都说逆元) 数论中的倒数是有特别的意义滴 你以为a的倒数在数论中还是1/a吗 (・∀・)哼哼~天真 先来引入求余概念 (a + b) % p = (a% ...
- Java表单中关于JavaScript的非空必输验证,你的程序和大牛有多少差距╮( ̄▽ ̄")╭
var defaultEmptyOK = false; // スペース var whitespace = " \t\n\r "; function checkNull (theFi ...
- 换博客啦o(* ̄▽ ̄*)ブ啦啦啦啦啦
csdn总挂···而且觉得这里比较好看啦啦啦啦啦 一键搬家真好用TUT不用贴原地址了呢
- 不高兴的o( ̄ヘ ̄o#)JJ
题目描述 津津上初中了.妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班.另外每周妈妈还会送她去学习朗诵.舞蹈和钢琴.但是津津如果一天上课超过八个小时就会不高兴,而 ...
- sql查询条件为空的另类写法o( ̄▽ ̄)d
简单描述:今天看老大提交的代码,发现了一个有意思的事情,一条sql中判断条件是空,老大的写法,让我眼前一亮.直接上代码 代码: <select id="getxxxs" re ...
- Vue.js连接后台数据jsp页面  ̄▽ ̄
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- ( ̄▽ ̄)" 关于河北ETC记账卡的默认密码
去营业厅问了下,是6个1(111111),一般人我不告诉他 ...( _ _)ノ| 好吧,在技术博客里发这种东西合适吗? 还有就是,如果需要打印单位抬头发票的话,需要携带委托书盖单位公章(委托书可以去 ...
- ACM数论之旅3---最大公约数gcd和最小公倍数lcm(苦海无边,回头是岸( ̄∀ ̄))
gcd(a, b),就是求a和b的最大公约数 lcm(a, b),就是求a和b的最小公倍数 然后有个公式 a*b = gcd * lcm ( gcd就是gcd(a, b), ( •̀∀•́ ) ...
随机推荐
- asp.net——初识多线程
1.首先讲解一下什么是线程(该定义是参考线程的百度百科) 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针( ...
- C# lock关键词/lock语句块、线程锁
一.lock关键词说明 1. lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁. 2. lock 语句块锁定,功能等同于 Monitor.Enter(obj): ...
- Hibernate5-课程笔记4
单表查询: Hibernate是DAO层技术,对数据的使用,查询是最为重要的.Hibernate的查询技术非常强大,支持原始SQL语句查询,支持QBC查询及Hibernate特有的HQL查询. H ...
- 《JavaScript网页经典特效300例》
<JavaScript网页经典特效300例> 基础篇 进阶篇 高级篇
- Python基础知识学习_Day2
一.for循环 1.1功能及语法 for循环是迭代循环机制(while是条件循环),语法如下: for i in a b c: print(i) 1.2典型例子: 1.2.1猜年龄循环 realy_a ...
- Json字符串转Json对象
public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, Event ...
- H3C SecPath 防火墙端口回流
外网IP地址可以通过域名访问内外800端口网站,内网地址不可以,需要做回流 <<内网口.外网口都需要做nat映射>>定义ACL3001acl number 3001rule 0 ...
- Mr.Jobs
Mr.Jobs by xue 最近的情绪很down,情商智商一直往下降 主要的原因是工作不好找.不是我的要求太高, 而是公司的HR都很不要. 当然首先得自我检讨,但是,damn,这种事情我怎么做的 ...
- String与StringBuilder区别总结
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能 ...
- ramfs/tmpfs: Linux RAM filesystems
Previously in windows, I uses ramdisk, to accelerate chrome browsing. However, in linux, this is mad ...