# |
제출 시각 |
아이디 |
문제 |
언어 |
결과 |
실행 시간 |
메모리 |
475183 |
2021-09-21T11:17:47 Z |
_L__ |
Po (COCI21_po) |
C++14 |
|
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;
}
# |
결과 |
실행 시간 |
메모리 |
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 |