Submission #833540

#TimeUsernameProblemLanguageResultExecution timeMemory
833540vjudge1Exam (eJOI20_exam)C++17
13 / 100
160 ms165356 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int MX = 5005;

int N;
int H[MX], T[MX], dp[MX][MX], mx[MX][MX];

int main() {
      cin.tie(0); ios_base::sync_with_stdio(0);

      cin >> N;
      for(int i = 1; i <= N; i++) cin >> H[i];
      for(int i = 1; i <= N; i++) cin >> T[i];

      for(int i = N; i >= 1; i--) {
            for(int j = i; j <= N; j++) {
                  dp[i][j] = max(dp[i][j], mx[i + 1][j] + (T[i] == H[j]));
            }
            for(int j = N; j >= 1; j--) {
                  mx[i][j] = max(dp[i][j], mx[i][j + 1]);
            }
      }

      cout << mx[1][1] << '\n';
      
}
#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...