题意:
代码实现:
/*
ID: eashion
LANG: C++
TASK: milk2
*/
#include
#include
#include
#include
#include
#define MAX 5050 using namespace std; struct node{ int Tstart,Tend; }; int N; int T1;//起点 int T2;//终点 int res1,res2; node Nlis[MAX]; bool cmp(const node a,const node b){ if( a.Tstart != b.Tstart ){ return a.Tstart < b.Tstart; } return a.Tend < b.Tend; } int main() { freopen(milk2.in,r,stdin); freopen(milk2.out,w,stdout); scanf(%d,&N); for( int i = 0; i < N; i++ ){ scanf(%d%d,&Nlis[i].Tstart,&Nlis[i].Tend); } sort(Nlis,Nlis+N,cmp); T1 = Nlis[0].Tstart; T2 = Nlis[0].Tend; res1 = res2 = 0; for( int i = 0; i < N; i++ ){ if( T2 >= Nlis[i].Tstart ){ T2 = max( T2,Nlis[i].Tend ); res1 = max( T2-T1,res1 ); } else{ T1 = Nlis[i].Tstart; res2 = max( res2,T1-T2 ); T2 = Nlis[i].Tend; } } printf(%d %d ,res1,res2); return 0; }
?