社区讨论

样例答案大到离谱求调

P1541[NOIP 2010 提高组] 乌龟棋参与者 3已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@mm7qvl8u
此快照首次捕获于
2026/03/01 20:47
上周
此快照最后确认于
2026/03/04 18:20
6 天前
查看原帖
CPP
#include <bits/stdc++.h>
#define Rainbow return
#define after 0
#define rain
using namespace std;
int dp[130][130][130],n,m,a[360],cnt[5];
//用i张,j张1,k张2,l张3
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	//freopen(".in","r",stdin);
	//freopen(".out","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	dp[0][0][0]=a[1];
	for(int i=1;i<=m;i++){
		int x;
		cin>>x;
		cnt[x]++;
		for(int j=0;j<=cnt[1];j++){
			for(int k=0;k<=cnt[2];k++){
				for(int l=0;l<=cnt[3];l++){
					dp[j][k][l]=max({dp[j][k][l-1],
									dp[j][k-1][l],
									dp[j-1][k][l],
									dp[j][k][l]})+a[i];
				}
			}
		}
	}
	cout<<dp[cnt[1]][cnt[2]][cnt[3]];
	Rainbow after rain;
}

样例直接干成了68万多

回复

6 条回复,欢迎继续交流。

正在加载回复...