题目描述
输入
输出
样例输入
3
300 1000
700 1200
1500 2100
样例输出
900 300
提示
#include <stdio.h>
#include<stdlib.h>
typedef struct node
{
int x,y;
} node;
int n,myspace=0,result=0;
node f[10005];
int cmp(const void *a,const void *b)
{
return((*(node*)a).x-(*(node*)b).x);
}
void jisuan()
{
int i,head,maxx=f[0].y;
head=f[0].x;
for(i=1; i<n; i++)
{
if(f[i].x<=maxx&&f[i].y>maxx)maxx=f[i].y;
if(f[i].x>maxx)
{
if((maxx-head)>result)result=maxx-head;
if((f[i].x-maxx)>myspace)myspace=f[i].x-maxx;
head=f[i].x;
maxx=f[i].y;
}
}
if((maxx-head)>result)result=maxx-head;
printf("%d %d",result,myspace);
}
int main()
{
int i;
scanf("%d",&n);
for(i=0; i<n; i++)scanf("%d%d",&f[i].x,&f[i].y);
qsort(f,n,sizeof(f[0]),cmp);
jisuan();
return 0;
}