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