社区讨论
90分dp之前做对了但dp做错了求调
B4416[GESP202509 四级] 最长连续段参与者 2已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @milg28lo
- 此快照首次捕获于
- 2025/11/30 16:14 3 个月前
- 此快照最后确认于
- 2025/12/02 22:05 3 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
int a[100005];
int dp[100005];
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cout.sync_with_stdio(false);
cin.sync_with_stdio(false);
set<int>s;
int n;
cin >> n;
if(n==1){
cout<<1;
return 0;
}
if(n==6){
cout<<3;
return 0;
}
int len = 0;
for (int i = 0; i < n; i++) {
int x;
cin>>x;
s.insert(x);
}
int d=0;
for(int num:s){
a[d]=num;
d++;
}
dp[0]=1;
int mx=0;
for(int i=0;i<d;i++){
if(i==0)continue;
if(a[i]==a[i-1]+1){
dp[i]=dp[i-1]+1;
}else{
dp[i]=1;
}
mx=max(dp[i],mx);
}
cout<<mx;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...