我这个怎么加二分?
查看原帖
我这个怎么加二分?
1252442
lucy2012楼主2024/4/26 20:40

100分待命,只过了前半数据

#include<bits/stdc++.h>
using namespace std;
int sum1,sum2,dp1[10010],dp2[10010],a[10010]; 
int main(){
	int n=1;
	while(cin>>a[n]){
		dp1[n]=1;
		dp2[n]=1;
		n++;
	}
	n--;
	for(int i=2;i<=n;i++){
		for(int j=1;j<i;j++){
			if(a[j]>=a[i])
			    dp1[i]=max(dp1[i],dp1[j]+1);
			if(a[j]<a[i])
			    dp2[i]=max(dp2[i],dp2[j]+1);
		}
	}
	for(int i=1;i<=n;i++){
		sum1=max(dp1[i],sum1);
		sum2=max(dp2[i],sum2);
	}
	cout<<sum1<<endl<<sum2;
	return 0;
}

2024-4-26 20:40:21

2024/4/26 20:40
加载中...