Submission #475183

#TimeUsernameProblemLanguageResultExecution timeMemory
475183_L__Po (COCI21_po)C++14
70 / 70
13 ms844 KiB
// This code is written by _L__
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,O3")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,sse4.2,popcnt,abm,mmx,avx2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-funroll-all-loops,-fpeel-loops,-funswitch-loops")
using namespace std;
#define endl '\n'
#define F_word ios_base::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL);
typedef long long ll;
typedef long double ld;
const ll mod = 1e9+7, N = 2e5, inf = 1e11;
const ld E = 1e-6;
#define ff first
#define ss second
int main(void){
    F_word;
    int n; cin >> n; int a[n+1] = {};
    for(int i = 1; i <= n; ++i) cin >> a[i];
    stack<int> st;
    st.push(0);
    int ans = 0;
    for(int i = 1; i <= n; ++i){
        while(a[st.top()] > a[i]){
            st.pop(); ++ans; 
        }
        if(a[st.top()] < a[i]) st.push(i);
    }
    ans += st.size()-1;
    cout << ans << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...