25th 單調佇列 志願者選拔

2021-08-05 23:21:56 字數 1271 閱讀 7778

世博會馬上就要開幕了,福州大學組織了一次志願者選拔活動。

參加志願者選拔的同學們排隊接受面試官們的面試。參加面試的同學們按照先來先面試並且先結束的原則接受面試官們的考查。

面試中每個人的人品是主要考查物件之一。(提高人品的方法有扶老奶奶過街,不闖紅燈等)

作為主面試官的john想知道當前正在接受面試的同學隊伍中人品值最高的是多少。於是他請你幫忙編寫乙個程式來計算。

輸入資料第一行為一整數t,表示有t組輸入資料。

每組資料第一行為」start」,表示面試開始

接下來的資料中有三種情況:

c name rp_value 名字為name的人品值為rp_value的同學加入面試隊伍。

g 排在面試隊伍最前面的同學面試結束離開考場。

q 主面試官john想知道當前正在接受面試的隊伍中人品最高的值是多少。

最後一行為」end」,表示所有的面試結束,面試的同學們可以依次離開了。

對於每個詢問q,輸出當前正在接受面試的隊伍中人品最高的值,如果當前沒有人正在接受面試則輸出-1。

2

start

c tiny 1000000000

c lina 0qg

qend

start

qc ccq 200

c cxw 100qg

qc wzc 500

qend

10000000000-1

200100

500

30%:操作命令不超過200

60%:操作命令不超過20,000

100%:操作命令不超過200,000

所有參加面試的同學總人數不超過100,000

名字長度不大於5,0 <= rp_value <= 1,000,000,000

資料較大建議使用scanf,printf 不推薦使用stl

維護乙個遞減佇列,記乙個進佇列順序就好了。。。該出去的時候就把他扔出去。。。

#include#include#include#define ll long long

using namespace std;

const int maxn=200005;

int t,l,r;

char p[10],ch[10];

ll ddq[maxn],a[maxn];

int main()

if(ch[0]=='q')

if(ch[0]=='g'){

kk++;

if(ddq[l]

FZJ 1894 志願者選拔 單調佇列

思路 單調佇列。維護乙個從變動的起點到當前為區間的最大值。這裡的離隊操作只需要判斷需要離隊的人是否在單調佇列中即可。include include include include include include include include define ll long long define i...

fzu 1894 志願者選拔(單調佇列)

problem 1894 志願者選拔 世博會馬上就要開幕了,福州大學組織了一次志願者選拔活動。參加志願者選拔的同學們排隊接受面試官們的面試。參加面試的同學們按照先來先面試並且先結束的原則接受面試官們的考查。面試中每個人的人品是主要考查物件之一。提高人品的方法有扶老奶奶過街,不闖紅燈等 作為主面試官的...

FZU1894 志願者選拔(佇列) TLE

problem 1894 志願者選拔 世博會馬上就要開幕了,福州大學組織了一次志願者選拔活動。參加志願者選拔的同學們排隊接受面試官們的面試。參加面試的同學們按照先來先面試並且先結束的原則接受面試官們的考查。面試中每個人的人品是主要考查物件之一。提高人品的方法有扶老奶奶過街,不闖紅燈等 作為主面試官的...