描述
小明跟他的小朋友们共n人商量在保证作业做完的前提下出去玩。第i个小朋友可以玩耍的时间是Si~Ti。这里Si~Ti表示的是时间段,比如Si=2,Ti=4,那么意味着这位小朋友在时刻1不能玩,时刻2、3、4可以去玩,时刻4以后都不能出去玩。如果在某个时刻,在一起玩的小朋友个数不少于k个,那么这一时刻就是幸福的。现在你要求出小朋友共有多少个时刻是幸福的。
输入
第一行:n k(n个小朋友,一起玩的小朋友达到k个为幸福)
第二行:S1 S2 ... Sn
第三行:T1 T2 ... Tn
输出
输出一行:幸福时刻数
用例输入 1 :
4 3
1 2 2 4
5 2 4 6
用例输出 1 :
2
代码:
#include<bits/stdc++.h>
using namespace std;
long long n,m,s,ans=LONG_LONG_MIN,a[1000001],b,l[100001],r[100001];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>l[i];
}
for(int i=1;i<=n;i++){
cin>>r[i];
ans=max(ans,r[i]);
}
for(int i=1;i<=n;i++){
for(int j=l[i];j<=r[i];j++){
a[j]++;
}
}
for(int i=1;i<=ans;i++){
if(a[i]>=m) s++;
}
cout<<s;
}