题目链接:http://codeforces.com/contest/785/problem/B
题意:给你n个时间段,表示anton学象棋的,m个时间段,表示anton学编程的,让你选择两个时间段使得他们之间的间隔最大,如果间隔小于零则去零
解析:简单贪心,n里面取最大的l和最小的r,m里面也是如此,然后乱搞一下,比较下最大值
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <iostream>
using namespace std;
const int inf = 0x7fffffff;
int main()
{
int n,m;
scanf("%d",&n);
int ma1=0,mi1=inf;
while(n--)
{
int l,r;
scanf("%d %d",&l,&r);
ma1 = max(l,ma1);
mi1 = min(r,mi1);
}
int ma2=0,mi2=inf;
scanf("%d",&m);
while(m--)
{
int l,r;
scanf("%d %d",&l,&r);
ma2 = max(l,ma2);
mi2 = min(r,mi2);
}
int ans = max(ma2-mi1,ma1-mi2);
printf("%d\n",max(ans,0));
return 0;
}