BZOJ 1012 [JSOI2008]最大數maxnumber
阿新 • • 發佈:2018-02-03
iostream href else i++ 最大 max const blank lan
BZOJ 1012
題解:用單調棧來維護第L大的數這個關系
1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 const int N=2e5+5; 5 int a[N],data[N]; 6 int main(){ 7 int m,d; 8 scanf("%d %d",&m,&d); 9 char str[2]; 10 int x,t=0,len=0,top=0; 11 for(int i=0;i<m;i++){12 scanf("%s%d",str,&x); 13 if(str[0]==‘A‘){ 14 x=(x+t)%d; 15 data[++len]=x; 16 while(top&&data[a[top]]<=x)top--; 17 a[++top]=len; 18 } 19 else{ 20 int index=lower_bound(a+1,a+1+top,len-x+1)-a; 21t=data[a[index]]; 22 printf("%d\n",t); 23 } 24 } 25 26 return 0; 27 }
BZOJ 1012 [JSOI2008]最大數maxnumber