码迷,mamicode.com
首页 > 其他好文 > 详细

洛谷p1198 最大数

时间:2017-03-18 18:12:08      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:ios   --   大数   class   main   while   long   bsp   int   

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int m,d,head,tail,pos;
char op[2];
typedef long long ll;
int q[200007],a[200007];
int main(){
    while(~scanf("%d%d",&m,&d)){
        int t=0,x;head=tail=0;
        while(m--){
            scanf("%s%d",op,&x);
            if(op[0]==A){
                x=(x+t)%d;
                a[pos++]=x;
                if(tail==0){
                    q[tail++]=pos-1;
                }
                else{
                    while(tail&&a[q[tail-1]]<=x) tail--;//err
                    q[tail++]=pos-1;  
                }
            }
            else{
                int index=lower_bound(q,q+tail,pos-x+1-1)-q;
                t=a[q[index]];//err
                printf("%d\n",a[q[index]]);
            }
        }
    }
    return 0;
}

 

洛谷p1198 最大数

标签:ios   --   大数   class   main   while   long   bsp   int   

原文地址:http://www.cnblogs.com/linkzijun/p/6574666.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!