20分,求解!!!
查看原帖
20分,求解!!!
816792
coritom楼主2023/9/10 17:52
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n, a[5005], dp[5005], maxi = -1e9;
signed main(){
	cin >> n;
	for(int i = 1; i <= n; i++){
		cin >> a[i];
		dp[i] = 1;
		if(i != 1){
			if(i % 2 == 0){
				for(int j = 1; j <= i - 1; j++){
					if(a[j] < a[i]) dp[i] = max(dp[i], dp[j] + 1);
				}
			}
			else{
				for(int j = 1; j <= i - 1; j++){
					if(a[j] > a[i]) dp[i] = max(dp[i], dp[j] + 1);
				}
			}
		}
		maxi = max(maxi, dp[i]);
	}
	cout << maxi;
	return 0;
}
2023/9/10 17:52
加载中...