FZU 1894 志愿者选拔
2013-08-09 10:27
267 查看
是个简单的单调队列,不多说了。
#include <cstdio> #include <cstring> #include <string> #include <iostream> #include <map> #include <vector> #include <cmath> #include <stack> #include <queue> #include <cstdlib> #include <algorithm> using namespace std; typedef __int64 int64; typedef long long ll; #define M 100005 #define N 1000005 #define max_inf 0x7f7f7f7f #define min_inf 0x80808080 #define mod 1000000007 int q , rp ; int main() { int t , i; char op[10] , name[10]; int front , rear; scanf("%d",&t); while (t--) { scanf("%s",op); int cnt = 0 , out = 0; front = rear = 0; while (scanf("%s",op) , strcmp(op,"END") != 0) { if (strcmp(op , "C") == 0) { scanf("%s%d",name,&rp[cnt]); cnt++; while (rear > front && rp[q[rear-1]] < rp[cnt-1])rear--; q[rear++] = cnt-1; } else if (strcmp(op , "Q") == 0) { while (q[front] < out)front++; if (front >= rear) printf("-1\n"); else printf("%d\n",rp[q[front]]); } else { out++; } } } return 0; }
相关文章推荐
- FZU 1894 — 志愿者选拔 单调队列
- FZU 1894 志愿者选拔(单调队列)
- fzu 1894 志愿者选拔 单调队列
- FZU 1894 志愿者选拔 - 单调队列
- fzu 1894 志愿者选拔(单调队列)
- fzu 1894 志愿者选拔 单调队列的学习
- fzu-1894 志愿者选拔-单调队列
- FZU 1894 志愿者选拔 (单调队列)
- FZU1894-志愿者选拔
- FZU1894 志愿者选拔 --单调队列
- 【单调队列】FZU 1894 志愿者选拔
- fzu 1894 志愿者选拔(单调队列)
- fzu 1894 志愿者选拔
- FZU 1894 志愿者选拔 单调队列
- FZU 1894 志愿者选拔
- FZU 1894 志愿者选拔 单调队列
- fzu 1894 志愿者选拔 (单调队列)
- FZU 1894 志愿者选拔
- fzu 1894 志愿者选拔(单调队列)
- fzu 1894 志愿者选拔(双端队列)