社区讨论
28pts help
P14058 【MX-X21-T3】[IAMOI R5] 两个人的演唱会参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhj41yjc
- 此快照首次捕获于
- 2025/11/03 20:22 4 个月前
- 此快照最后确认于
- 2025/11/03 20:22 4 个月前
CPP
#include <iostream>
using namespace std;
int t,n,m,a[30000001];
int nxt(int i){
if (i<n)return i+1;
return 1;
}
int bak(int i){
if (i>1)return i-1;
return n;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>t;
while (t--){
cin>>n>>m;
int ans=0,vis[30000001]={0};
for (int i=1;i<=n;i++)cin>>a[i];
for (int i=1;i<=n;i++){
if (vis[i]==0){
ans++;
//left
int arr=i,p,mmax=a[i],mmin=a[i];
while (1){
vis[arr]=1;
p=bak(arr);
if (vis[p]==1)break;
mmin=min(mmin,a[p]);
mmax=max(mmax,a[p]);
if (mmax-mmin>m)break;
arr=p;
}
//right
int arr1=i,p1,mmax1=a[i],mmin1=a[i];
while (1){
vis[arr1]=1;
p1=nxt(arr1);
if (vis[p1]==1)break;
mmin1=min(mmin1,a[p1]);
mmax1=max(mmax1,a[p1]);
if (mmax1-mmin1>m)break;
arr1=p1;
}
}
}
cout<<ans<<'\n';
}
return 0;
}
https://www.luogu.com.cn/record/237280634
回复
共 0 条回复,欢迎继续交流。
正在加载回复...