Submission #443150

#TimeUsernameProblemLanguageResultExecution timeMemory
443150AdamGSExam (eJOI20_exam)C++14
0 / 100
1090 ms1344 KiB
#include<bits/stdc++.h>
using namespace std;
#define rep(a, b) for(int a = 0; a < (b); ++a)
const int LIM=5e3+7;
int a[LIM], b[LIM], T[LIM][LIM], dp[LIM];
int main() {
	ios_base::sync_with_stdio(0); cin.tie(0);
	int n;
	cin >> n;
	rep(i, n) cin >> a[i+1];
	rep(i, n) cin >> b[i+1];
	for(int i=1; i<=n; ++i) {
		int ma=0;
		for(int j=i; j<=n; ++j) {
			ma=max(ma, a[j]);
			for(int l=i; l<=j; ++l) if(b[l]==ma) ++T[i][j];
		}
	}
	for(int i=1; i<=n; ++i) {
		dp[i]=dp[i-1];
		for(int j=i; j>=1; --j) {
			dp[i]=max(dp[i], dp[j-1]+T[j][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...