40分求助
查看原帖
40分求助
510360
HbugU楼主2021/8/16 17:06

10wa+10tle 不知道为什么? 样例都过了!

#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define fr first
#define se second
#define FAST ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
using namespace std;
int a[100005],dp[100005],v[100005],ans;
bool flag;
int main(){
	FAST;
	int n=1;
	while(cin>>a[n]){
		n++;
	}
	n--;
	dp[1]=1;
	for(int i=2;i<=n;i++){
		for(int j=1;j<i;j++){
			if(a[j]>a[i]) dp[i]=max(dp[i],dp[j]+1);
		}
	}
	cout<<dp[n]<<endl;
	v[++ans]=a[1];
	for(int i=2;i<=n;i++){
		flag=1;
		for(int j=1;j<=ans;j++){
			if(v[j]>=a[i]){
				v[j]=a[i];
				flag=1;
				break;
			}else{
				flag=0;
			}
		}
		if(flag==0){
			v[++ans]=a[i];
		}
	}
	cout<<ans;
	return 0;
}



2021/8/16 17:06
加载中...