Submission #1223405

#TimeUsernameProblemLanguageResultExecution timeMemory
1223405AishaExam (eJOI20_exam)C++20
0 / 100
1095 ms708 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 = r;
        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]] + (l == 0 ? 0 : dp[l - 1]);
                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]);
        }   
        if (dp[r] != mx) cout << -1 / 0 << endl;
    }
 
  //  for (int i = 0; i < n; i ++) cout << dp[i] << ' ';
 
    cout << dp[n - 1] << endl;
 
    return 0;
}

Compilation message (stderr)

exam.cpp: In function 'int main()':
exam.cpp:30:37: warning: division by zero [-Wdiv-by-zero]
   30 |         if (dp[r] != mx) cout << -1 / 0 << endl;
      |                                  ~~~^~~
#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...