알고리즘

[알고리즘] 백준 6198 - 옥상 정원 꾸미기 (C++)

blueberrysoda 2025. 2. 4. 16:43

[문제 링크] : 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;
}