제출 #1321952

#제출 시각아이디문제언어결과실행 시간메모리
1321952888313666Exam (eJOI20_exam)C++20
0 / 100
1095 ms1592 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define _ <<' '<< #define print(x) cout<<#x<<": "<<(x)<<'\n' int n; vector<int> a, b, dp; int main(){ cin.tie(0)->sync_with_stdio(0); cout.tie(0); cin>>n; a.resize(n); b.resize(n); dp.assign(n+1, 0); for (int i=0; i<n; i++) cin>>a[i]; for (int i=0; i<n; i++) cin>>b[i]; for (int i=0; i<n; i++) { int ct=0; dp[i+1]=max(dp[i+1], dp[i]); for (int j=i; j>=0; --j) { //cout<<i _ j<<'\n'; if (a[j]>a[i]) break; if (b[j]==a[i]) { //print(i); //print(j); dp[i+1]=max(dp[i+1], dp[j]+(++ct)); } } ct=0; for (int j=i+1; j<n; j++) { if (a[j]>a[i]) break; if (b[j]==a[i]) { dp[j+1]=max(dp[j+1], dp[i+1]+(++ct)); //print(i); //print(j); //print(dp[j+1]); //print(dp[i+1]+(ct)); } } } //for (int i=0; i<n; i++) print(dp[i]); cout<<dp[n]<<'\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...