Submission #475183

# Submission time Handle Problem Language Result Execution time Memory
475183 2021-09-21T11:17:47 Z _L__ Po (COCI21_po) C++14
70 / 70
13 ms 844 KB
// 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 time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 5 ms 460 KB Output is correct
5 Correct 7 ms 588 KB Output is correct
6 Correct 13 ms 844 KB Output is correct
7 Correct 13 ms 696 KB Output is correct