为什么运行不过?
查看原帖
为什么运行不过?
377449
zjq123victorW楼主2022/7/3 16:28
#include<bits/stdc++.h>
#define N 42
using namespace std;
int n,m,a[N],b,dp[N][N][N][N],g[5];
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)scanf("%d",&a[i]);
	for(int i=1;i<=m;i++){
		scanf("%d",&b);
		++g[b];
	}
	for(int i=1;i<=g[1];++i)
		for(int ii=1;ii<=g[2];++ii)
			for(int ji=1;ji<=g[3];++ji)
				for(int ki=1;ki<=g[4];++ki){
					dp[i][ii][ji][ki]=max(dp[i][ii][ji][ki],dp[i-1][ii][ji][ki]+a[1+i+ii*2+ji*3+ki*4]);
					dp[i][ii][ji][ki]=max(dp[i][ii][ji][ki],dp[i][ii-1][ji][ki]+a[1+i+ii*2+ji*3+ki*4]);
					dp[i][ii][ji][ki]=max(dp[i][ii][ji][ki],dp[i][ii][ji-1][ki]+a[1+i+ii*2+ji*3+ki*4]);
					dp[i][ii][ji][ki]=max(dp[i][ii][ji][ki],dp[i][ii][ji][ki-1]+a[1+i+ii*2+ji*3+ki*4]);
					cout<<dp[i][ii][ji][ki]<<' ';
				}
	cout<<g[1]<<g[2]<<g[3]<<g[4]; 
	printf("%d",dp[g[1]][g[2]][g[3]][g[4]]);
 	return 0;
}


2022/7/3 16:28
加载中...