Submission #441529

# Submission time Handle Problem Language Result Execution time Memory
441529 2021-07-05T10:17:55 Z elazarkoren Exam (eJOI20_exam) C++17
0 / 100
1000 ms 332 KB
#include <iostream>
#include <vector>
#include <algorithm>
#include <stack>
#include <set>
#define x first
#define y second
#define chkmin(a, b) a = min(a, b)
#define chkmax(a, b) a = max(a, b)
#define all(v) v.begin(), v.end()
using namespace std;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> pii;
typedef vector<pii> vii;

const int MAX_N = 1e5 + 1;

//int a[MAX_N];
int b[MAX_N];

void update(int l, int r, vi &v) {
    if (l > r) swap(l, r);
    int x = 0;
    for (int i = l; i <= r; i++) {
        chkmax(x, v[i]);
    }
    for (int i = l; i <= r; i++) {
        v[i] = x;
    }
}

int n;

int Count(vi &v) {
    int ans = 0;
    for (int i = 0; i < n; i++) {
        if (v[i] == b[i]) ans++;
    }
    return ans;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin >> n;
    vi a(n);
    for (int i = 0; i < n; i++) cin >> a[i];
    for (int i = 0; i < n; i++) cin >> b[i];
    vi per(n + 1);
    for (int i = 0; i <= n; i++) per[i] = i;
    int ans = 0;
    do {
        vi curr = a;
        for (int i = 0; i < n; i++) {
            update(per[i], per[i + 1], curr);
            chkmax(ans, Count(curr));
        }
    } while (next_permutation(all(per)));
    cout << ans;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 9 ms 316 KB Output is correct
4 Execution timed out 1093 ms 204 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1095 ms 332 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1095 ms 204 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1096 ms 332 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 9 ms 316 KB Output is correct
4 Execution timed out 1093 ms 204 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 9 ms 316 KB Output is correct
4 Execution timed out 1093 ms 204 KB Time limit exceeded
5 Halted 0 ms 0 KB -