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