Submission #468055

# Submission time Handle Problem Language Result Execution time Memory
468055 2021-08-26T09:40:55 Z Stickfish Exam (eJOI20_exam) C++17
12 / 100
94 ms 1036 KB
#include <iostream>
#include <set>
using namespace std;

const int MAXN = 1e5 + 123;
int a[MAXN];
int b[MAXN];

void solve_2(int n){
	int cnt = 0;
	int isneeded = 0;
	int ans = 0;
	for(int i = 0; i < n; ++i){
		if(a[i] == b[0]){
			isneeded = 1;
		}
		if(a[i] > b[0]){
			ans += cnt * isneeded;
			isneeded = 0;
			cnt = 0;
		} else {
			++cnt;
		}
	}
	cout << ans + cnt * isneeded << endl;
}

void solve_4(int n){
	
}

int dp_[MAXN];
int* dp = dp_ + 1;

void solve_slow(int n){
	dp[0] = 0;
	for(int i = 0; i < n; ++i){
		int mx = a[i];
		for(int j = i; j >= 0; --j){
			mx = max(mx, a[j]);
			int cnt = 0;
			//cout << "--- " << i << ' ' << j << " ---" << endl;
			//cout << mx << ": ";
			for(int k = j; k <= i; ++k){
				if(b[k] == mx){
					++cnt;
				}
				//cout << b[k] << " ";
			}
			//cout << endl;
			dp[i] = max(dp[i], dp[j - 1] + cnt);
		}
	}
	cout << dp[n - 1] << endl;
}

signed main(){
	int n;
	cin >> n;
	for(int i = 0; i < n; ++i)
		cin >> a[i];
	for(int i = 0; i < n; ++i)
		cin >> b[i];
	bool sub2 = true;
	for(int i = 0; i < n; ++i){
		if(b[i] != b[0])
			sub2 = false;
	}
	if(sub2){
		solve_2(n);
		return 0;
	}
	bool sub4 = true;
	set<int> st;
	for(int i = 0; i < n; ++i){
		if(st.find(a[i]) != st.end())
			sub4 = false;
		st.insert(a[i]);
	}
	if(sub4){
		return 0;
	}
	solve_slow(n);

}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 19 ms 456 KB Output is correct
3 Correct 58 ms 964 KB Output is correct
4 Correct 36 ms 984 KB Output is correct
5 Correct 94 ms 1036 KB Output is correct
6 Correct 39 ms 972 KB Output is correct
7 Correct 42 ms 976 KB Output is correct
8 Correct 91 ms 1016 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 8 ms 460 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -