Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: singtoppy

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

Language: cpp

Time: 0.023 second

Submitted On: 2026-03-09 16:45:41

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

#define ll long long
#define pii pair<int, int>

//sweep line algorithm

int n, A[100005];

vector<pii> t;

void solve () {
	cin >> n;
	cin >> A[0];
	for(int i = 1; i < n; i++) {
		cin >> A[i];
		int st = min(A[i], A[i - 1]), en = max(A[i], A[i - 1]);
		t.push_back({st, 1});
		t.push_back({en, -1});
	} 
	sort(t.begin(), t.end());
	int cnt = 0, res = 0;
	for(int i = 0; i < t.size(); i++) {
		cnt += t[i].second;
		res = max(res, cnt);
	}
	cout << res;
}

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

	solve();

	return 0;
}