2014年2月6日 星期四

[HOJ] 73 - Intervals


#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
struct P{
    int x,y;
};
int cmp(P a,P b){
    if(a.x!=b.x)
    return a.x<b.x;
    return a.y>b.y;
}
vector<P> s;
int main(){
    int n,i,x,y,p=0,L,R;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d%d",&x,&y);
        s.push_back((P){x,1});
        s.push_back((P){y,-1});
    }
    sort(s.begin(),s.end(),cmp);
    for(i=0;i<s.size();i++){
        if(p==0) L=s[i].x;
        p+=s[i].y;
        if(p==0)
            printf("%d %d\n",L,s[i].x);
    }
}

沒有留言:

張貼留言