测的数据都过了,但提交的时候报TLE、RE,小弟第一次来论坛,请大佬指导!
查看原帖
测的数据都过了,但提交的时候报TLE、RE,小弟第一次来论坛,请大佬指导!
1077933
wyyinput楼主2023/10/1 13:07
#include<bits/stdc++.h>
using namespace std;
long long a[50000],dp[50000],zx;
int n,len,minbh;
bool f;
int main(){
	while(scanf("%d",a+n))
		++n;
	for(int i=0;i<n;++i){
		if(!i)
			dp[len++]=a[0];
		else{
			if(a[i]<=dp[len-1])
				dp[len++]=a[i];
			else
				for(int j=0;j<len;++j){
					if(a[i]>dp[j]&&j==0){
						dp[j]=a[i];
						break;
					}
					else if(j!=0&&a[i]>dp[j]&&a[i]<=dp[j-1]){
						dp[j]=a[i];
						break;
					}
				}
		}
	}
	printf("%d",len);
	putchar('\n');
	memset(dp,0,sizeof(dp));
	for(int i=0;i<n;++i){
		if(!i){
			dp[0]=a[0];
			len=1;
		}
		else{
			zx=INT_MAX,f=false;
			for(int j=0;j<len;++j)
				if(dp[j]<zx&&dp[j]>=a[i]){
					zx=dp[j];
					minbh=j;
					f=true;
				}
			if(f)
				dp[minbh]=a[i];
			else
				dp[len++]=a[i];
		}
	}
	printf("%d",len);
	return 0;
}
2023/10/1 13:07
加载中...