记录编号 154992 评测结果 AAAAAAAAA
题目名称 [POI 2001] 区间 最终得分 100
用户昵称 Gravatarwolf 是否通过 通过
代码语言 C++ 运行时间 0.068 s
提交时间 2015-03-25 23:12:45 内存使用 0.32 MiB
显示代码纯文本
#include<iostream>
#include<fstream>
#include<bitset>
#include<vector>
#include<deque>
#include<map>
#include<set>
#include<queue>
#include<string>
#include<algorithm>
#include<cmath>
#include<ctime>
#include<cstdio>
using namespace std;
#if defined wolf
const string ok="OK";
const string kk="	";
ofstream nnew("prz.in",ios::app);
ifstream fin("prz.in");
#define fout cout
#define Endl endl
#else
ifstream fin("prz.in");
ofstream fout("prz.out");
#endif
map<int,int> TT;
map<int,int>::iterator st;
map<int,int>::iterator ed;
void core(int a,int b){
	st=TT.upper_bound(a);
	--st;
	if((st->second)>=a){
		st->second=max((st->second),b);
		b=st->second;
		ed=st;
	}else{
		TT[a]=b;
		ed=TT.find(a);
	}
	st=TT.upper_bound(a);
	while((st->first)<=b){
		ed->second=max(ed->second,st->second);
		b=st->second;
		TT.erase(st);
		st=TT.upper_bound(a);
	}
}
int main(){
	int n;
	fin>>n;
	TT[-1]=-1;
	TT[1000005]=10000010;
	for(int i=0;i!=n;++i){
		int a,b;
		fin>>a>>b;
		core(a,b);
	}
	st=TT.begin();
	ed=TT.end();
	++st;
	--ed;
	while(st!=ed){
		fout<<st->first<<"  "<<st->second<<endl;
		++st;
	}
	//-------------------------*/
	#if defined wolf
	cout<<endl<<(double)clock()/CLOCKS_PER_SEC<<'s'<<endl;
	#endif
	return 0;
}
//Designed by wolf
//Wed Mar 25 2015