Submission
Status:
[PPTSSSSSSSSSSSS]
Score: 0
User: FotoFatTurtle
Problemset: จุดตัดบนกราฟ
Language: cpp
Time: 1.081 second
Submitted On: 2025-04-01 22:06:56
#include <bits/stdc++.h>
using namespace std;
#define f first
#define s second
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int num;
cin>>num;
int old,temp,x,y,maxi=0;
priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>> q;
for(int i=0;i<num;i++)
{
cin>>temp;
maxi=max(maxi,temp);
if(i!=0)
{
x=min(temp,old);
y=max(temp,old);
q.push({x,1});
q.push({y,-1});
}
old=temp;
}
maxi++;
int ans=0,nub=0;
for(int i=0;i<=maxi;i++)
{
while(!q.empty()&&q.top().f==i)
{
nub+=q.top().s;
//cout<<q.top().f<<"\n";
q.pop();
}
//cout<<i<<" "<<nub<<"\n";
ans=max(ans,nub);
}
cout<<ans;
}