题目描述 Description
有N条线段,已知每条线段的起点和终点(50000以内),然后有M个询问,每次询问一个点(50000以内),求这个点在多少条线段上出现过?
输入描述 Input Description
第一行N线段条数
接下来N行,每行两个数,线段的起点和终点
第N+2行一个数M询问个数
接下来M行,每行一个点
输出描述 Output Description
对于每个询问,求答案
样例输入 Sample Input
3
2 5
4 6
0 7
4
2
4
7
6
样例输出 Sample Output
2
3
1
2
数据范围及提示 Data Size & Hint
N,M<=50000
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int m,n;
int a[50001]={0};
int b[50001]={0};
int x,y;
scanf("%d", &n);
int i,j;
for(i=0;i<n;i++)
{
scanf("%d%d", &x, &y);
for(j=x;j<=y;j++)
a[j]++;
}
scanf("%d", &m);
int s;
for(i=0;i<m;i++)
{
scanf("%d", &s);
b[i]=a[s];
}
for(i=0;i<m;i++)
printf("%d\n",b[i]);
return 0;
}