题意:
有n节象棋课和m节程序课,分别选一节,要求输出最大时间间隔。
分析:
一共有3种情况
1:象棋课比程序课早 那么取象棋课最早的结束时间,和程序课最晚的开始时间
2:程序课比象棋课早 那么取程序课最早的结束时间,象棋课最晚的开始时间
3:选两节课有冲突 输出0
AC代码
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
int chessa=0,chessb=2000000000;
int proa=0,prob=2000000000;
for(int i=0;i<n;i++)
{
int a,b;
scanf("%d%d",&a,&b);
if(a>chessa)
chessa=a;
if(b<chessb)
chessb=b;
}
int m;
scanf("%d",&m);
for(int i=0;i<m;i++)
{
int a,b;
scanf("%d%d",&a,&b);
if(a>proa)
proa=a;
if(b<prob)
prob=b;
}
int ans=max(chessa-prob,proa-chessb);
if(ans>0)
printf("%d\n",ans);
else
printf("0\n");
}