为什么会40分??大佬求改(讲一讲为什么吧)
查看原帖
为什么会40分??大佬求改(讲一讲为什么吧)
1340936
guimei121212楼主2024/10/14 22:39
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main(){
	int n;
	cin>>n;
	vector<int> a(n+1),dp(n+1,0);
	
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	
	for(int i=1;i<=n;i++){
		for(int j=1;j<=i;j++){
			
			
		
		if(!a[j-1]<a[j]){
			
		
			int m=dp[1];
			int t=i;
			for(int j=2;j<=i;j++){
				m=max(m,dp[j]);
				if(m==dp[j]){
					t=j;
				}
			}
			if(a[t]<=a[i+1]){
				dp[i]=m+1;
			}else{
				dp[i]=dp[i-1];
			}
			break;
		}
		dp[i]=dp[i-1]+1;
		
	}
	}
	
	cout<<dp[n];
}

2024/10/14 22:39
加载中...