Submission #512027

# Submission time Handle Problem Language Result Execution time Memory
512027 2022-01-16T06:11:43 Z kartel Po (COCI21_po) C++14
20 / 70
44 ms 3476 KB
#include <bits/stdc++.h>
#define pb push_back
#define F first
#define S second
#define sz(x) (int)x.size()
using namespace std;

const int N = 1e5 + 500;

int r[N];
bool mk[N];

int main() {
    int n;
    cin >> n;
    vector <int> a(n);
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    vector <int> b = {a[0]};
    for (int i = 1; i < n; i++) {
        if (a[i] != b.back()) {
            b.pb(a[i]);
        }
    }
    a = b;
    vector <pair <int, int> > st;
    st.pb({-1, sz(a)});
    for (int i = sz(a) - 1; i >= 0; i--) {
        while (sz(st) && st.back().F > a[i]) {
            st.pop_back();
        }
        r[i] = st.back().S;
        st.pb({a[i], i});
    }
    n = sz(a);
    int ans = 0;
    for (int i = 0; i < n; i++) {
        if (mk[i]) {
            continue;
        }
        ans += (a[i] > 0);
        mk[r[i] - 1] = 1;
    }
    cout << ans;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 304 KB Output is correct
2 Incorrect 0 ms 208 KB Output isn't correct
3 Incorrect 1 ms 208 KB Output isn't correct
4 Incorrect 9 ms 1072 KB Output isn't correct
5 Incorrect 13 ms 1480 KB Output isn't correct
6 Correct 39 ms 2940 KB Output is correct
7 Incorrect 44 ms 3476 KB Output isn't correct