FZU1894-志愿者选拔
来源:互联网 发布:淘宝快递拒签运费谁负 编辑:程序博客网 时间:2024/04/30 08:15
Problem 1894 志愿者选拔
Accept: 1937 Submit: 5969
Time Limit: 1500 mSec Memory Limit : 32768 KB
Problem Description
Input
输入含义1C NAME RP_VALUE名字为NAME的人品值为RP_VALUE的同学加入面试队伍。(名字长度不大于5,0 <= RP_VALUE <= 1,000,000,000)2G排在面试队伍最前面的同学面试结束离开考场。3Q主面试官John想知道当前正在接受面试的队伍中人品最高的值是多少。
Output
Sample Input
2STARTC Tiny 1000000000C Lina 0QGQENDSTARTQC ccQ 200C cxw 100QGQC wzc 500QEND
Sample Output
10000000000-1200100500
Hint
数据较大建议使用scanf,printf 不推荐使用STLSource
福州大学第七届程序设计竞赛解题思路:单调队列
#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <cmath>#include <queue>#include <vector>#include <set>#include <stack>#include <map>#include <climits>using namespace std;#define LL long longconst int INF=0x3f3f3f3f;const int MAXN=1000010;char s1[10],s2[10];int q[MAXN][2];int main(){ int t; scanf("%d",&t); while(t--) { scanf("%s",s1); int head=0,rear=0; int x=0,cnt=0,a; while(1) { scanf("%s",s1); if(!strcmp(s1,"END")) break; if(!strcmp(s1,"C")) { scanf("%s %d",s2,&a); while(head<rear&&q[rear-1][0]<a) rear--; q[rear][0]=a; q[rear++][1]=++cnt; } else if(!strcmp(s1,"Q")) { if(head==rear) printf("-1\n"); else printf("%d\n",q[head][0]); } else { if(head==rear) continue; x++; if(q[head][1]<=x) head++; } } } return 0;}
0 0
- FZU1894 志愿者选拔
- FZU1894 志愿者选拔
- FZU1894-志愿者选拔
- FZU1894 志愿者选拔 --单调队列
- fzu1894 志愿者选拔 单调队列
- 单调队列 fzu1894 志愿者选拔
- 单调队列--fzu1894 志愿者选拔
- FZU1894 志愿者选拔(队列) ~TLE
- fzu1894 自愿者选拔
- 志愿者选拔
- FZUOJ 1894 志愿者选拔
- FOJ1897志愿者选拔
- FZU 1894 志愿者选拔
- Problem 1894 志愿者选拔
- Problem 1894 志愿者选拔
- FZU 1894 志愿者选拔
- FOJ 1894 志愿者选拔
- 【hdu 2188】选拔志愿者
- React Native FlexBox布局
- JavaScript 模块的循环加载
- 动态规划总结(01背包 完全背包 多重背包)
- Java编程题练习2017-02-20
- java时间的转换以及时间的比较
- FZU1894-志愿者选拔
- 性能测试7-性能调优
- 图的基本存储的基本方式一
- 中国的创新经济—学习笔记1
- 项目人力资源管理 考纲与考试要点
- NYOJ 78 圈水池(凸包基础)@
- Android基于RecyclerView实现高亮搜索列表
- linux之进程间通信--使用信号
- Windows PowerShell基本语法及常用命令