73pts求助
查看原帖
73pts求助
503075
Lantrol楼主2021/10/19 20:42

rt

#include<bits/stdc++.h>
using namespace std;
struct st{
	int l,w;
};
int n,a[5005],f[5005];
st qq[5005];
bool cmp(st x,st y){
	if(x.l!=y.l){
		return x.l>y.l;
	}
	return x.w>y.w;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>qq[i].l>>qq[i].w;
	}
	sort(qq+1,qq+n+1,cmp);
	for(int i=1;i<=n;i++){
		a[i]=qq[i].w;
	}
	for(int i=1;i<=n;i++){
		for(int j=i+1;j<=n;j++){
			if(a[i]<=a[j]){
				f[j]=max(f[j],f[i]+1);
			}
		}
	}
	sort(f+1,f+n+1);
	cout<<f[n]+1;
	return 0;
}

2021/10/19 20:42
加载中...