std

std 2022-07-05 17:52:50 2 返回题目

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long ll;
const int N=400010;
struct Build {
	ll f,id,p;
} b[N];
bool cmp(Build u, Build v) {
	if (u.p==v.p) return u.f<v.f;
	return u.p<v.p;
}
ll n,a,c,dp[N];
int main() {
//	freopen("temple.in", "r", stdin);
//	freopen("temple.out", "w", stdout);
	cin>>n;
	for (int i=1; i<=n; i++) {
		cin>>a>>c;
		b[i*2-1].f=0;
		b[i*2-1].p=a;
		b[i*2-1].id=i;
		b[i*2].f=1;
		b[i*2].p=c;
		b[i*2].id=i;
	}
	sort(b+1, b+2*n+1, cmp);
	ll maxl=0,ans=0;
	for (int i=1; i<=2*n; i++) {
		if (b[i].f==0) {
			maxl++;
			dp[b[i].id]=maxl;
		} else {
			maxl--;
		}
		if(maxl>ans) {
			ans=maxl;
		}
	}
	printf("%lld\n", ans);
	return 0;
}
{{ vote && vote.total.up }}