Submission #854069

#TimeUsernameProblemLanguageResultExecution timeMemory
854069The_SamuraiMoney (IZhO17_money)C++17
0 / 100
1 ms348 KiB
    #include "bits/stdc++.h"
    using namespace std;
    using ll = long long;
    const int inf = 1e9;
     
    int main() {
        cin.tie(0)->sync_with_stdio(false);
    #ifdef sunnatov
        freopen("input.txt", "r", stdin);
        freopen("output.txt", "w", stdout);
    #endif
     
        int n;
        cin >> n;
        vector<int> a(n + 1);
        for (int i = 1; i <= n; i++) cin >> a[i];
        vector<bool> incr(n + 1); incr[0] = true;
        for (int i = 1; i <= n; i++) incr[i] = incr[i - 1] & (a[i] >= a[i - 1]);
        if (incr[n]) {
            cout << 1;
            return 0;
        }
        set<int> st;
        for (int i = 1; i <= n; i++) st.insert(a[i]);
        int cnt = 1;
        for (int i = n; i > 0; i--) {
            if (incr[i - 1]) {
                cout << cnt + 1;
                return 0;
            }
            if (a[i - 1] == a[i]) continue;
            if (st.upper_bound(a[i - 1]) == st.end() or *st.upper_bound(a[i - 1]) != a[i]) {
                cnt++;
            }
        }
    }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...