社区讨论
40pts求条
P3143[USACO16OPEN] Diamond Collector S参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhj12asl
- 此快照首次捕获于
- 2025/11/03 18:59 4 个月前
- 此快照最后确认于
- 2025/11/03 18:59 4 个月前
【题目速切】||【测试点数据】
接触C++没1个月,马蜂很勾石,大佬见谅。。。
如回必关
CPP#include<bits/stdc++.h>
using namespace std;
int a[501000];
int main(){
int n,k,ans;
cin>>n>>k;
for(int i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+n+1);
int head=1,tail=1;
ans=1;
while(tail<n){
tail++;
while(a[tail]-a[head]>k)
head++;
if(tail-head+1>ans)
ans=tail-head+1;
}
for(int i=tail+1;i<=n;i++){
a[i-ans]=a[i];
}
head=1,tail=1;
int ans1=1;
while(tail<n-ans){
tail++;
while(a[tail]-a[head]>k)
head++;
if(tail-head+1>ans1)
ans1=tail-head+1;
}
ans+=ans1;
cout<<ans<<endl;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...