Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Quaoar

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

Language: cpp

Time: 0.040 second

Submitted On: 2026-03-04 14:24:30

#include <bits/stdc++.h>
using namespace std;
using ll = long long;

int main(){
    int n;
    cin >> n;
    vector <int> val(n);
    vector <pair<ll , int>> arr;

    for (int i = 0 ; i < n ; i++){
        cin >> val[i];
    }   
    for (int i = 0 ; i < n - 1; i++){
        ll high = max(val[i] , val[i + 1]);
        ll low = min(val[i] , val[i + 1]);
        
        arr.push_back(make_pair(low , 1));
        arr.push_back(make_pair(high , -1));
    }
    sort(arr.begin() , arr.end());
    ll mx = -1;
    ll sum = 0;
    for (int i = 0 ; i < arr.size() ; i++){
        sum += arr[i].second;
        mx = max(mx , sum);
    }
    cout << mx;
    cout << "\n";
    return 0;
}