fzu1894 自愿者选拔
2016-05-18 12:47
302 查看
题意:
思路:
中文题目就不多说了。
思路:
单调队列的使用,因为问的是当前排队中的最高rp,所以用个维护最大值的单调队列就好了,出队和询问的时候判断下就好了。
const int maxn = 1e6 + 10; struct node { char *name; int rp; int pos; node() {} node(char c[], int rp,int pos) { this->name = c; this->rp = rp; this->pos = pos; } }p[maxn]; int main(int argc, const char * argv[]) { // freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); int t; cin >> t; char name[10]; int rp; while(t--) { char op[10]; int head = 0, tail = 0; int out = 0; int pos = 0; while(scanf("%s", op) != EOF) { if (strcmp(op, "START") == 0) continue; if (op[0] == 'C') { scanf("%s %d", name, &rp); while(head < tail && p[tail-1].rp < rp) tail--; p[tail++] = node(name, rp, ++pos); }else if (op[0] == 'G') { out++; if (p[head].pos == out) head++; }else if (op[0] == 'Q'){ if (head == tail) printf("-1\n"); else printf("%d\n", p[head].rp); }else if (op[0] == 'E') break; } } return 0; }
相关文章推荐
- ZeroMQ的ZMQ_STREAM模式写的服务器反向先发请求的示例代码
- 强烈推荐篇将PCA讲解得十分清楚的博文——PCA的数学原理
- 4位全加器VHDL描述
- uva_10078_The Art Gallery
- 解决上一层div浮动后下一层div跳到上一层div的问题
- ActiveMQ First Demo
- cenos6.4 mongodb shell模式 常用指令
- [置顶] [计算机组成原理][R-I-J型指令CPU设计实验总结]
- cugoj-1697梦回三国
- 【HNOI2015】开店(shop)
- 写的非常好的文章 C#中的委托,匿名方法和Lambda表达式
- js求时间差
- hdu 2586 How far away ?【LCA】
- BZOJ3492: PA2012 Binary Dodgeball
- 获取iOS app版本信息
- Objective-C 学习笔记
- mfc中 CString转char*
- CI框架的安全性分析
- Java EE中Ajax技术介绍
- CSDN-markdown编辑器语法简介