#include <bits/stdc++.h>
using namespace std;
const int N = 5005;
int k, n, m, A, B, v[N], s[N], t[N], dp[N][N];
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> k >> n >> m >> A >> B;
for(int i = 1;i<=k;i++) cin >> v[i];
for(int i = 1;i<=n;i++) cin >> s[i];
for(int i = 1;i<=m;i++) cin >> t[i];
for(int i = 1;i<=n;i++){
for(int j = 1;j<=m;j++){
dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
if(s[i] == t[j]){
dp[i][j] = max(dp[i][j], dp[i - 1][j - 1] + v[s[i]]);
}
}
}
cout << dp[n][m];
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |