申请降黄或者加强数据范围
查看原帖
申请降黄或者加强数据范围
421149
how_long_can_it_be楼主2024/9/4 15:46

最基本的dp啊,甚至都不需要优化

蓝题有点太夸张了吧

#include<bits/stdc++.h>
using namespace std;
const int N=509;
int n,k,a[N],f[N][N][2];
int max3(int a1,int a2,int a3) {
	return max(a1,max(a2,a3));
}
int main() {
	cin>>n>>k;
	for (int i=1;i<=n;++i) cin>>a[i];
	for (int i=1;i<=n;++i)
		for (int j=1;j<=k;++j) {
			f[i][j][0]=max(f[i-1][j][1],f[i-1][j][0]);
			f[i][j][1]=max(f[i-1][j-1][0],f[i-1][j][1])+a[i];
		}
	int ans=0;
	for (int i=1;i<=k;++i)
		ans=max3(ans,f[n][i][1],f[n][i][0]);
	cout<<ans<<endl;
	return 0;
}
2024/9/4 15:46
加载中...