Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: Seng
Problemset: จุดตัดบนกราฟ
Language: cpp
Time: 0.047 second
Submitted On: 2026-03-12 19:09:03
#include <bits/stdc++.h>
using namespace std;
using pii = pair<int, int>;
priority_queue<pii, vector<pii>, greater<pii>> q;
int y[100005];
int main(){
int n;cin >> n;
int sum = 0;
int mx = INT_MIN;
for(int i = 1; i <= n; i++){
cin >> y[i];
if(i == 1) continue;
if(y[i]>y[i-1]){
q.push({y[i-1], 1});
q.push({y[i], -1});
}
else{
q.push({y[i], 1});
q.push({y[i-1], -1});
}
}
while(!q.empty()){
sum += q.top().second;
//cout << q.top().second << " ";
q.pop();
mx = max(mx, sum);
}
cout << mx;
return 0;
}