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;
}