[문제 링크] : https://www.acmicpc.net/problem/6198
#include <iostream>
#include <stack>
using namespace std;
int N;
stack<int> ST;
long long Ans;
int main(){
cin >> N;
int inp;
for(int i=0; i<N; i++){
cin >> inp;
while(ST.empty() == false){
if(ST.top() > inp){
break;
}
ST.pop();
}
Ans += ST.size();
ST.push(inp);
}
cout << Ans << "\n";
return 0;
}
'알고리즘' 카테고리의 다른 글
[알고리즘] 백준 15681 - 트리와 쿼리 (C++) (0) | 2025.02.06 |
---|---|
[알고리즘] 백준 10474 - 분수좋아해? (C++) (0) | 2025.02.05 |
[알고리즘] 백준 5582 - 공통 부분 문자열 (C++) (0) | 2025.02.03 |
[알고리즘] 백준 6321 - IBM 빼기 1 (C++) (0) | 2025.02.02 |
[알고리즘] 백준 16431 - 베시와 데이지 (C++) (0) | 2025.02.01 |