# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
468059 | Stickfish | Exam (eJOI20_exam) | C++17 | 1088 ms | 1092 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |