Submission #833509

#TimeUsernameProblemLanguageResultExecution timeMemory
833509vjudge1Exam (eJOI20_exam)C++17
14 / 100
1068 ms8528 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int MX = 15; int N; int H[MX], T[MX]; map<vector<int>, int> memo; int f(vector<int> v) { if(memo.count(v)) return memo[v]; int res = 0; for(int i = 0; i < N; i++) res += v[i] == T[i]; for(int l = 0; l < N; l++) { int mx = 0; for(int r = l; r < N; r++) { mx = max(mx, v[r]); vector<int> nv = v; for(int k = l; k <= r; k++) nv[k] = mx; if(nv != v) res = max(res, f(nv)); } } return memo[v] = res; } int main() { cin.tie(0); ios_base::sync_with_stdio(0); cin >> N; for(int i = 0; i < N; i++) cin >> H[i]; for(int i = 0; i < N; i++) cin >> T[i]; vector<int> v; for(int i = 0; i < N; i++) v.push_back(H[i]); cout << f(v) << '\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...