模拟一遍即可
2024-09-26 22:18:56
发布于:云南
1阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int a[1000005];
int main(){
int T; cin >> T;
while(T--){
int n,k,d,w; cin >> n >> k >> d >> w;
for(int i = 1;i <= n;i++) cin >> a[i];
int cnt = 0,t = k,now = a[1],last = now + w + d;
for(int i = 1;i <= n;i++){
if(t > 0 && a[i] >= now && a[i] <= last) t--;
else if(t == 0 || a[i] > last){
cnt++;
now = a[i];
last = now + w + d;
t = k - 1;
}
}
cout << cnt + 1 << endl;
}
return 0;
}
这里空空如也
有帮助,赞一个