玄关,80分,样例过了但全WA
查看原帖
玄关,80分,样例过了但全WA
760622
gxy_q楼主2024/4/27 11:12
#include<iostream>
#include<algorithm>
using namespace std;
int n,a[100005],dp[100005],num,ans,en[100005],cnt;
int main(){
	while(cin>>a[++n]) a[n]=-a[n];
	n--;
	dp[1]=a[1];	
	for(int i=1;i<=n;i++){
		num=lower_bound(dp+1,dp+num+1,a[i])-dp;
		dp[num]=a[i];
		ans=max(ans,num);
	}
	cout<<ans<<endl;
	for(int i=1;i<=n;i++) a[i]=-a[i];
	for(int i=1;i<=n;i++){
		if(en[cnt]<a[i]) {
			en[++cnt]=a[i];
		}
		else {
			int j=lower_bound(en+1,en+cnt+1,a[i])-en;
			en[j]=a[i];
		}
	}
	cout<<cnt;
	return 0;
}

2024/4/27 11:12
加载中...