#15 WA 求调
查看原帖
#15 WA 求调
1303088
gac497楼主2025/1/24 23:37
#include<bits/stdc++.h>
using namespace std;
bool flag;
int n,minx,maxx;
vector<int>a(110);
vector<vector<int> >dp(110,vector<int>(110,0));
int main(){
    scanf("%d",&n);
    for(int i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
    scanf("%d%d",&minx,&maxx);
    for(int len=minx;len<=n;len++){
        for(int i=0;i+len-1<n;i++){
            int j=i+len-1;
            if(len>=minx && len<=maxx){
                flag=true;
                for(int k=i;k<=j;k++){
                    if(a[k]!=a[i]){
                        flag=false;
                        break;
                    }
                }
                if(flag){
                    dp[i][j]=len*len;
                }
            }
            for(int k=i;k<j;k++){
                dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]);
            }
        }
    }
	printf("%d",dp[0][n-1]);
    return 0;
}
2025/1/24 23:37
加载中...