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