73pts wa on #8#9#10 马风优良求hack
查看原帖
73pts wa on #8#9#10 马风优良求hack
1104479
zombiell810975楼主2024/8/22 15:00

rt

#include<bits/stdc++.h>
using namespace std;
struct stick{int l,w;}a[5002];
bool cmp(stick &a,stick &b){return a.l==b.l ? a.w>b.w : a.l>b.l;}
int n,ans;
vector<int> f;
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;++i) scanf("%d%d",&a[i].l,&a[i].w);
	sort(a+1,a+1+n,cmp);
//	for(int i=1;i<=n;++i) printf("%d  %d\n",a[i].l,a[i].w);
	for(int i=1;i<=n;++i){
		if(!f.empty()){
			if(a[i].w==f.back()){
				f.push_back(a[i].w);
				continue; 
			}
		}
		if(upper_bound(f.begin(),f.end(),a[i].w)==f.end()) {
			f.push_back(a[i].w);
			ans++;
	//		printf("%d\n",i);
		}
		else f[int(upper_bound(f.begin(),f.end(),a[i].w)-f.begin())]=a[i].w;
	}
	printf("%d",ans);
	return 0;
}
2024/8/22 15:00
加载中...