Submission #1223380

#TimeUsernameProblemLanguageResultExecution timeMemory
1223380AishaExam (eJOI20_exam)C++20
0 / 100
1093 ms704 KiB
#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 <int> dp(n); 
    for (int r = 0; r < n; r ++) {
        map <int, int> mp; int mx = 0, ind = 0;
        for (int l = r; l >= 0; l --) {
            mp[b[l]] ++;
            if (mx < mp[a[r]] + (l == 0 ? 0 : dp[l - 1])) {
                mx = mp[a[r]];
                ind = l;
            }
        }

        for (int i = ind; i <= r; i ++) {
            a[i] = a[r];
            dp[i] = (i == 0 ? 0 : dp[i - 1]) + (b[i] == a[i]);
        }   
    }

//    for (int i = 0; i < n; i ++) cout << dp[i] << ' ';

    cout << dp[n - 1] << endl;

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...