#include "bits/stdc++.h"
using namespace std;
#define int long long
signed main() {
int n;
cin >> n;
vector <int> a(n), b(n);
for (int i = 0; i < n; i ++) cin >> a[i];
for (int i = 0; i < n; i ++) cin >> b[i];
vector <vector <int>> dp(n, vector <int> (n));
for (int l = n - 1; l >= 0; l --) {
for (int r = l; r < n; r ++) {
map <int, int> mp; int mx = 0;
for (int i = l; i <= r; i ++) {
mp[b[i]] ++;
mx = max(mx, a[i]);
// cout << l << ' ' << r << endl;
// if (l == 1 && r == 3) cout << i << ' ' << mx << ' ' << mp[mx] << endl;
dp[l][r] = max(dp[l][r], mp[mx] + (i + 1 == n ? 0 : dp[i + 1][r]));
}
}
}
cout << dp[0][n - 1] << endl;
return 0;
}
# | 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... |