2014年2月7日 星期五

[HOJ] 76 - 邪惡表格


#include<stdio.h>
#include<queue>
#include<algorithm>
using namespace std;
struct P{
    int x,y;
    friend bool operator < (P a,P b){
        return a.y<b.y;
    }
};
priority_queue<P> que;
int main(){
    int n,x,y,i,L=-1,ans=0;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d%d",&x,&y);
        while(que.size() && que.top().y>y){
            if(que.top().x<L){
                que.pop();
                continue;
            }
            L=max(L,que.top().x);
            que.pop();
        }
        if(i-L>ans) ans=i-L;
        que.push((P){i,x});
    }
    printf("%d\n",ans);
}

沒有留言:

張貼留言