wa了,求调!
查看原帖
wa了,求调!
1235829
_Tartaglia_楼主2025/8/3 18:05
#include<bits/stdc++.h>
using namespace std;
int f[45][45][45][45];
int l[400];
int cnt[5]; 
int main(){
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
    	cin>>l[i];
	}
	for(int i=1;i<=m;i++){
		int x;
		cin>>x;
		cnt[x]++;
	}
	for(int a=0;a<=cnt[1];a++){
		for(int b=0;b<=cnt[2];b++){
			for(int c=0;c<=cnt[3];c++){
				for(int d=0;d<=cnt[4];d++){
					int s=a+2*b+3*c+4*d;
					f[a][b][c][d]=l[s];
					int ans=0;
					if(a){
						ans=max(ans,f[a-1][b][c][d]);
					}
					if(b){
						ans=max(ans,f[a][b-1][c][d]);
					}
					if(c){
						ans=max(ans,f[a][b][c-1][d]);
					}
					if(d){
						ans=max(ans,f[a][b][c][d-1]);
					}
					f[a][b][c][d]=ans+l[s];
				}
			}
		}
	}
	cout<<f[cnt[1]][cnt[2]][cnt[3]][cnt[4]];
    return 0;
}
2025/8/3 18:05
加载中...