社区讨论
求各位大神帮看为何TLE 急
P2421[NOI2002] 荒岛野人参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mi4hn07c
- 此快照首次捕获于
- 2025/11/18 19:26 4 个月前
- 此快照最后确认于
- 2025/11/18 19:26 4 个月前
CPP
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[100000000];
int main(){
int ans=0,c,n,i,f=1,t;
cin>>n>>c;
for(i=1;i<=n;++i)
scanf("%d",&a[i]);
t=n/2;
while((f!=n)&&(a[n]-a[f]>=c)){
if(a[t]-a[f]==c){
if(a[t+1]==a[t]){
f++; ans++; continue;
}else{
ans++; f++; t=(n-f)/2; continue;
}
}
if(a[t]-a[f]>c){
if(a[t-1]-a[f]<c){
f++; t=(n-f)/2; continue;
}else{
t=(t-f)/2; continue;
}
}
if(a[t]-a[f]<c){
if(a[t+1]-a[f]>c){
f++; t=(n-f)/2; continue;
}else{
t=(n-f)/2; continue;
}
}
}
cout<<ans;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...