Submission

Status:
[PPPPPPPPPPPPPPP]

Score: 100

User: njoop

Problemset: จุดตัดบนกราฟ

Language: cpp

Time: 0.030 second

Submitted On: 2025-03-25 08:52:08

#include <bits/stdc++.h>

using namespace std;

priority_queue<int, vector<int>, greater<int>> st, en;

int n, cnt, cur, ans, arr[100010];

int main() {
    cin.tie(0)->sync_with_stdio(0);
    cin >> n;
    for(int i=1; i<=n; i++) {
        cin >> arr[i];
        if(i != 1) {
            st.push(min(arr[i-1], arr[i]));
            en.push(max(arr[i-1], arr[i]));
        }
    }
    while(en.size()) {
        if(st.size() && st.top() < en.top()) {
            cnt++;
            st.pop();
        } else {
            cnt--;
            en.pop();
        }
        ans = max(ans, cnt);
    }
    cout << ans;
}