題意:給你n個區間,然後給出m個查詢區間,對於每次詢問,輸出這個區間裏多少個點被不少於k個區間覆蓋
解析:求兩次前綴和就好了
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a[300000];
int s[300000];
int p[300000];
int main(){
int n, m, k;
while(~scanf("%d%d%d", &n, &k, &m)){
memset(a, 0, sizeof a);
memset(s, 0, sizeof s);
memset(p, 0, sizeof p);
for(int i = 1; i <= n; i++){
int l, r;
scanf("%d%d", &l, &r);
a[l]++;
a[r + 1]--;
}
for(int i = 1; i <= 210001; i++){
s[i] = s[i - 1] + a[i];
}
for(int i = 1; i <= 210001; i++){
if(s[i] >= k) p[i] = p[i - 1] + 1;
else p[i] = p[i - 1];
}
for(int i = 1; i <= m; i++){
int l, r;
scanf("%d%d", &l, &r);
printf("%d\n", p[r] - p[l - 1]);
}
}
return 0;
}