请问我的代码哪里错了
查看原帖
请问我的代码哪里错了
385165
ZeroF楼主2022/5/4 18:25
#include<iostream>
#include<algorithm>
using namespace std;
const int inf=0x7fffffff;
int a[100010],dp[100010],f[100010];
int main(){
	int x;
	int n=0;
	while(cin>>x){
		n++;
		a[n]=x;
	}
	dp[1]=f[1]=a[1];
	int len1=1,len2=1;
	for(int i=2;i<=n;i++){
		if(dp[len1]>=a[i]){
			dp[len1++]=a[i];
		}
		else{
			dp[upper_bound(dp+1,dp+len1+1,a[i],greater<int>())-dp]=a[i];
		}
		if(f[len2]<a[i]){
			f[len2++]=a[i];
		}
		else{
			f[lower_bound(f+1,f+len2+1,a[i])-f]=a[i];
		}
	}
	cout<<len1<<endl<<len2<<endl;
	return 0;
}

全部WA

2022/5/4 18:25
加载中...