有N条线段,已知每条线段的起点和终点(50000以内),然后有M个询问,每次询问一个点(50000以内),求这个点在多少条线段上出现过?
输入描述 Input Description第一行N线段条数 接下来N行,每行两个数,线段的起点和终点 第N+2行一个数M询问个数 接下来M行,每行一个点
输出描述 Output Description对于每个询问,求答案
样例输入 Sample Input3 2 5 4 6 0 7 4 2 4 7 6
样例输出 Sample Output2 3 1 2
数据范围及提示 Data Size & HintN,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; }