警示后人
查看原帖
警示后人
1032708
LYC0815楼主2025/1/17 10:33
#include<bits/stdc++.h>
using namespace std;
int n,a[50005],b[50005];
int ans=1;
int main(){
	cin>>n;
	for(int i=1; i<=n; i++){
		cin>>a[i];
		b[i] = a[i];
		int h=0;
		for(int z=1; z<i; z++){
			if(a[z]<=a[i])h=max(h,b[z]);
		}
		b[i]+=h;
	}
	for(int z=1; z<=n; z++){
		cout<<b[z]<<" ";
	}
	return 0;
}

此代码统计的可能不是最长子序列 如:
7
1 1 1 100 1 1 100
正确结果是:
1 2 3 103 4 5 105
但此代码输出的是:
1 2 3 103 4 5 203

2025/1/17 10:33
加载中...