股票价格

时间限制:20000ms
单点时限:2000ms
内存限制:256MB

描述

小Hi最近在分析一支股票的价格走势,他需要一个程序来辅助分析。这个程序会接收3种消息(指令):

价格信息,格式是P timestamp price:表示这支股票在 timestamp 时刻价格是 price

删除价格指令,格式是R timestamp:随着时间推移,小Hi会积累越来越多的价格数据。一些老旧的数据会变得不重要。这个指定会删除 timestamp以前(包括 timestamp 时刻)的价格数据。

价格查询指令,格式是Q:小Hi希望程序返回这只股票最高、最低和最近的价格。注意已经被删除的价格不应该被统计。

给定一个包含以上3种信息(指令)的序列,你能否帮助小Hi完成这个程序呢?

输入

第1行包含一个整数 N (1 ≤ N ≤ 500000),表示消息(指令)序列的长度。

第2 - N+1行,每行包含一条消息或指令。

输入保证价格信息是按照 timestamp 升序排列的,并且出现的 timestamp 和价格小于100000000。

输出

对于输入中每一条价格查询指令,输出当时最高、最低和最近的价格。

样例输入
10
P 1 77
P 2 73
P 5 70
P 7 74
Q
R 4
Q
P 8 78
R 5
Q
样例输出
77 70 74
74 70 74
78 74 78
思路:利用map存答案,优先队列进行操作;
#include<bits/stdc++.h>
using namespace std;
#define ll __int64
#define inf 1e18
struct is
{
int num;
int pos;
friend bool operator <(is a,is b)
{
return a.pos>b.pos;
}
};
char a[];
priority_queue<is>q;
map<int,int>m;
int main()
{
int x,y,z,i,t;
int st=,en=,pre;
scanf("%d",&x);
while(x--)
{
scanf("%s",a);
if(a[]=='P')
{
is gg;
scanf("%d%d",&gg.pos,&gg.num);
pre=gg.num;
q.push(gg);
m[gg.num]++;
}
else if(a[]=='R')
{
scanf("%d",&z);
while(!q.empty())
{
if(q.top().pos<=z)
{
int v=q.top().num;
m[v]--;
if(m[v]==)
m.erase(v);
q.pop();
}
else
break;
}
}
else
{
int ansmax=(--m.end())->first;
int ansmin=m.lower_bound(st)->first;
printf("%d %d %d\n",ansmax,ansmin,pre);
}
}
return ;
}
 

hihocode 股票价格 优先队列+map的更多相关文章

  1. Northwestern European Regional Contest 2016 NWERC ,F题Free Weights(优先队列+Map标记+模拟)

    传送门: Vjudge:https://vjudge.net/problem/Gym-101170F CF: http://codeforces.com/gym/101170 The city of ...

  2. HDU 6015 Skip the Class 优先队列 map的使用

    Skip the Class Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tota ...

  3. A - Enterprising Escape 【BFS+优先队列+map】

    The Enterprise is surrounded by Klingons! Find the escape route that has the quickest exit time, and ...

  4. Generating Sets 贪心

    H - Generating Sets Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64 ...

  5. codeforces 15D . Map 优先队列

    题目链接 题目意思很简单nm的矩阵里, 选若干个ab的小矩阵, 定义每个矩阵的值为这个矩阵里的所有数的和-最小值*数的个数. 选小矩阵时, 优先选值最小的,然后次小的.. 知道不能选位置. 输出所有矩 ...

  6. ACM学习历程—HDU 2112 HDU Today(map && spfa && 优先队列)

    Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD夫妇也退居了二线 ...

  7. C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法

    每次忘记都去查,真难啊 /* C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法 */ /* vector常用用法 */ //头文件 #i ...

  8. Gym 100952F&&2015 HIAST Collegiate Programming Contest F. Contestants Ranking【BFS+STL乱搞(map+vector)+优先队列】

    F. Contestants Ranking time limit per test:1 second memory limit per test:24 megabytes input:standar ...

  9. NBOJv2——Problem 1037: Wormhole(map邻接表+优先队列SPFA)

    Problem 1037: Wormhole Time Limits:  5000 MS   Memory Limits:  200000 KB 64-bit interger IO format: ...

随机推荐

  1. 【BZOJ1645】[Usaco2007 Open]City Horizon 城市地平线 离散化+线段树

    [BZOJ1645][Usaco2007 Open]City Horizon 城市地平线 Description Farmer John has taken his cows on a trip to ...

  2. Windows Phone 7 程序等待页面的处理

    程序启动通常会有一个等待的过程,在这个过程中可以通过使用Popup控件配合BackgroundWorker类启动后台线程来实现. 控件的代码 PopupSplash.xaml <UserCont ...

  3. Swift - 触摸事件响应机制(UiView事件传递)

    import UIKit class FatherView: UIView { override func hitTest(point: CGPoint, withEvent event: UIEve ...

  4. JSTL的一些使用规范,坑

    三目表达式要加空格不然有些服务器解析不了 var maxBanners = ${maxBanners==null ? 3 : maxBanners}; forEach循环的长度正确使用方式 <c ...

  5. MYSQL创建数据表!

    几个常见的建表原则: a,表都加前缀b,所有的字段选择最小的数据类型,如id可以使用mediumint比INT节省25%的空间c,尽量所有的字段都设置为NOT NULL的,这样能让速度更快d,为合适的 ...

  6. js数组的基本用法及数组根据下标(数值或字符)移除元素

    1.创建数组 var array = new Array(); var array = new Array(size);//指定数组的长度 var array = new Array(item1,it ...

  7. poj3764 The XOR Longest Path【dfs】【Trie树】

    The xor-longest Path Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 10038   Accepted:  ...

  8. django-base

    1.django创建 2.django常用命令 3.django配置 一.创建django程序 1.终端:django-admin startproject sitename 2.IDE创建Djang ...

  9. day14(编码实战-用户登录注册)

    day14 案例:用户注册登录 要求:3层框架,使用验证码   功能分析 注册 登录   1.1 JSP页面 regist.jsp 注册表单:用户输入注册信息: 回显错误信息:当注册失败时,显示错误信 ...

  10. 纯css3加载动画

    <!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta name= ...