2013年12月9日 星期一

[OpenJudge] 贵州安顺二中 / 练习 1005:区间覆盖


http://asez.openjudge.cn/practice/1005/
#include<stdio.h>
#include<algorithm>
#include<vector>
#include<queue>
using namespace std;
struct P{
    int x,y,b;
}in;
vector<P> vec;
int cmp(P a,P b){
    if(a.x!=b.x)
    return a.x<b.x;
    return a.b<b.b;
}
int main(){
    int n,ans=0,top=0,x,y,i;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d%d",&x,&y);
        in.x=x,in.y=i,in.b=1;
        vec.push_back(in);
        in.x=y,in.y=i,in.b=2;
        vec.push_back(in);
    }
    sort(vec.begin(),vec.end(),cmp);
    for(i=0;i<vec.size();i++){
        if(vec[i].b==1)
            top++;
        else top--;
        if(top>ans) ans=top;
    }
    printf("%d\n",ans);
}

沒有留言:

張貼留言