记录编号 |
469703 |
评测结果 |
AAAAAAAAAA |
题目名称 |
凯伦和咖啡 |
最终得分 |
100 |
用户昵称 |
_小妖 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.221 s |
提交时间 |
2017-11-03 17:04:13 |
内存使用 |
5.65 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
const int maxn=200005;
int n,k,q;
int read()
{
int x=0,f=1;
char ch=getchar();
while(!isdigit(ch))
{
if(ch=='-')f=0;
ch=getchar();
}
while(isdigit(ch))
{
x=(x<<1)+(x<<3)+ch-'0';
ch=getchar();
}
return f?x:-x;
}
struct node{
int l,r;
int block,id;
}a[maxn];
int l,r;
int Max;
int sum[maxn];
int ans;
int an[maxn];
int s[maxn];
int tmp;
int main()
{
freopen("coffee.in","r",stdin);
freopen("coffee.out","w",stdout);
n=read(),k=read(),q=read();
for(int i=1;i<=n;++i)
{
l=read(),r=read();
sum[l]++,sum[r+1]--;
Max=max(Max,r);
}
for(int i=1;i<=maxn;++i)an[i]=an[i-1]+sum[i];
for(int i=1;i<=maxn;++i)
if(an[i]>=k)s[i]=s[i-1]+1;
else s[i]=s[i-1];
for(int i=1;i<=q;++i)
{
l=read(),r=read();
ans=s[r]-s[l-1];
printf("%d\n",ans);
}
return 0;
}