AcWing 3263. 买菜
原题链接
简单
作者:
世间多是空欢喜
,
2023-07-17 10:35:25
,
所有人可见
,
阅读 78
前缀和
C++ 代码
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 1e6+1;
int a[N], b[N];
int n, maxx1, maxx2, ans;
int main()
{
scanf("%d", &n);
for(int i=0; i<n; i++)
{
int x, y;
scanf("%d %d", &x, &y);
a[x] += 1;
a[y] -= 1;
maxx1 = max(maxx1,y);
}
for(int i=1; i<=maxx1; i++) a[i] += a[i-1];
for(int i=0; i<n; i++)
{
int x, y;
scanf("%d %d", &x, &y);
b[x] += 2;
b[y] -= 2;
maxx2 = max(maxx2, y);
}
for(int i=1; i<=maxx2; i++) b[i] += b[i-1];
for(int i=1; i<=max(maxx1,maxx2); i++)
{
if(a[i]+b[i]==3) ans++;
}
printf("%d\n", ans);
return 0;
}