站外题,求调,re,玄关,感谢
  • 板块学术版
  • 楼主CCF___NOI
  • 当前回复6
  • 已保存回复7
  • 发布时间2024/12/21 20:50
  • 上次更新2024/12/22 00:10:12
查看原帖
站外题,求调,re,玄关,感谢
1394890
CCF___NOI楼主2024/12/21 20:50

描述

小明跟他的小朋友们共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;
}
2024/12/21 20:50
加载中...