Submission #844095

#TimeUsernameProblemLanguageResultExecution timeMemory
844095AcanikolicExam (eJOI20_exam)C++14
0 / 100
1073 ms856 KiB
#include <bits/stdc++.h>

#define int long long 

using namespace std;

signed main() {
	
	int n;
	cin >> n;
	vector<int>a(n+1),b(n+1);
	for(int i=1;i<=n;i++) cin >> a[i];
	for(int i=1;i<=n;i++) cin >> b[i];
	int res = 0;
	vector<int>dp(n+1,0);
	for(int r=1;r<=n;r++) {
		for(int l=1;l<=r;l++) {
			int mx = 0,pre = 0;
			for(int j=r;j>=1;j--) {
				if(a[j] == b[j]) pre += 1;
				dp[r] = max(dp[r],pre+dp[j-1]);
			}
			for(int j=l;j<=r;j++) mx = max(mx,a[j]);
			int cnt = 0;
			for(int j=l;j<=r;j++) if(b[j] == mx) cnt += 1;
			dp[r] = max(dp[r],dp[l-1]+cnt);
		}
	}
//for(int i=1;i<=n;i++) cout << dp[i] << ' ';
	cout << dp[n];
	return 0;
}

Compilation message (stderr)

exam.cpp: In function 'int main()':
exam.cpp:14:6: warning: unused variable 'res' [-Wunused-variable]
   14 |  int res = 0;
      |      ^~~
#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...