Submission
Status:
[PPPPPPPPPPPPPPP]
Score: 100
User: MiyaZaki1072
Problemset: จุดตัดบนกราฟ
Language: cpp
Time: 0.037 second
Submitted On: 2025-04-16 19:29:17
#include <bits/stdc++.h>
using namespace std;
using pii =pair<int,int>;
#define f first
#define s second
vector<pii>ev;
int a[100100];
int main(){
cin.tie(0)->sync_with_stdio(0);
int n;cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
if(i-1){
ev.push_back({min(a[i-1],a[i]),1});
ev.push_back({max(a[i],a[i-1]),-1});
}
}
sort(ev.begin(),ev.end());
int rn = 0 ,ans= 0;
for(int i=0,j;i<ev.size();i=j){
for(j=i;j<ev.size() && ev[j].f==ev[i].f ;j++){
rn+=ev[j].s;
}
ans = max(ans,rn);
}
cout<<ans;
}