各位大佬能帮我看看是哪里有问题吗?,没过编译?
查看原帖
各位大佬能帮我看看是哪里有问题吗?,没过编译?
1099765
aaabbbcccgfh楼主2024/6/2 21:40

#include <bits/stdc++.h> using namespace std; int dp[355][125][125][125] , a[355] , b[125]; int main () { freopen("tortoise.in" , "r" , stdin); freopen("tortoise.out" , "w" , stdout); int n , m; cin >> n >> m;

for (int i = 1; i <= n; i++) {
    cin >> a[i];
}

for (int i = 1; i <= m; i++) {
    int x;
    cin >> x;
    b[x]++;
}

dp[0][0][0][0] = a[1]; 

for (int i = 0; i <= b[1]; i++) {
    for (int j = 0; j <= b[2]; j++) {
        for (int k = 0; k <= b[3]; k++) {
            for (int l = 0; l <= b[4]; l++) {
                int c = 1 + i + j * 2 + k * 3 + l * 4;
                dp[i][j][k][l] = max(dp[i][j][k][l] , max(dp[i - 1][j][k][l] + a[c] , max(dp[i][j - 1][k][l] + a[c] , max(dp[i][j][k - 1][l] + a[c] , dp[i][j][k][l - 1] + a[c]))));
            }
        }
    }
}

cout << dp[b[1]][b[2]][b[3]][b[4]];    
return 0;

}

2024/6/2 21:40
加载中...