解题思路:
1.分别用数组存储两个人的装菜起始和结束时间
2.遍历每一个区间,寻找重叠部分
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
long long sum=0; //一共聊天时间
int H[2005][2];
int W[2005][2];
for(int i=0;i<n;i++) cin>>H[i][0]>>H[i][1];
for(int i=0;i<n;i++) cin>>W[i][0]>>W[i][1];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
int start=max(H[i][0],W[j][0]); //确定区间的开始和结尾
int end=min(H[i][1],W[j][1]);
if((end-start)>0)
{
sum+=(end-start);
}
}
}
cout<<sum;
return 0;
}