Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Gump2011

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

Language: cpp

Time: 0.025 second

Submitted On: 2026-03-08 18:12:48

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

int main() {
    ios::sync_with_stdio(0), cin.tie(0);

    int N;
    cin >> N;
    vector<long long> p(N);
    for(int i = 0; i < N; i++) cin >> p[i];

    vector<pair<long long,int>> v;
    for(int i = 0; i < N-1; i++) {
        long long low = min(p[i], p[i+1]);
        long long high = max(p[i], p[i+1]);
        v.push_back({low, 1});
        v.push_back({high, -1});
    }

    sort(v.begin(), v.end());

    int cnt = 0;
    int ans = 0;
    for(int i = 0; i < v.size(); i++) {
        cnt += v[i].second;
        if(cnt > ans) ans = cnt;
    }

    cout << ans << "\n";

    return 0;
}