社区讨论
3分pts,求调必关
P3512[POI 2010] PIL-Pilots参与者 1已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mjwpt9z8
- 此快照首次捕获于
- 2026/01/02 18:12 2 个月前
- 此快照最后确认于
- 2026/01/05 13:40 上个月
CPP
#include<bits/stdc++.h>
using namespace std;
#define MAXN 2000000
int n,m,l,r,a[MAXN],sum[2005],max1,min1,max2,min2,max3,min3;
int ans,ansl,ansr,num;
int main(){
cin>>m>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
l=1,r=1,ans=-MAXN,num=0,max1=0,min1=a[1],max2=0,min2=a[1];
while(l<=r&&r<=n+1){
if(max1-min1<=m){
r++;
max1=max(max1,a[r-1]);
min1=min(min1,a[r-1]);//3 9 //5 1 3 5 8 6 6 9 10
if(max3==max1){
max2=max(max2,a[r-1]);
}
if(max3!=max1){
max2=max3;
}
if(min3!=min1){
min2=min3;
}
if(min3==min1){
min2=min(min2,a[r-1]);
}
max3=max1;
min3=min1;
}
else{
if(ans<r-l){
ans=r-l;
ansr=r-1;
ansl=l;
}
max1=max2;
min1=min2;
l++;
}
}
cout<<ansr-ansl+1;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...