站外题求调 (qwq)
  • 板块学术版
  • 楼主lcc0222
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/7/3 18:56
  • 上次更新2025/7/3 20:43:01
查看原帖
站外题求调 (qwq)
1536846
lcc0222楼主2025/7/3 18:56

WA code:

#include<bits/stdc++.h>
using namespace std;
int n;
int a[100];
int dp[100][100]; 
int maxn,minn;
int a1,a2,a3,a4,a11,a22,a33,a44;
int main() {
	//freopen("operations.in","r",stdin);
	//freopen("operations.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i]; 
	}
	dp[1][0]=dp[1][1]=a[1];
	for(int i=2;i<=n;i++){
		if(a[i]!=0){//判断“/”
			a1=dp[i-1][0]+a[i];//+
		    a11=dp[i-1][1]+a[i];//+
		    a2=dp[i-1][0]-a[i];//-
		    a22=dp[i-1][1]-a[i];//-
		    a3=dp[i-1][0]*a[i];//*
		    a33=dp[i-1][1]*a[i];//*
			a4=dp[i-1][0]/a[i];// /
		    a44=dp[i-1][1]/a[i];// /
		    dp[i][0]=max({a1,a11,a2,a22,a3,a33,a4,a44});
		    dp[i][1]=min({a1,a11,a2,a22,a3,a33,a4,a44});
	    }else{
			a1=dp[i-1][0]+a[i];//+
		    a11=dp[i-1][1]+a[i];//+
		    a2=dp[i-1][0]-a[i];//-
		    a22=dp[i-1][1]-a[i];//-
		    a3=dp[i-1][0]*a[i];//*
		    a33=dp[i-1][1]*a[i];//*
	    	dp[i][0]=max({a1,a11,a2,a22,a3,a33});
		    dp[i][1]=min({a1,a11,a2,a22,a3,a33});
		}
	}
	cout<<dp[n][0];
    return 0;
}

用max和min的原因是可能有 负乘负 的可能

2025/7/3 18:56
加载中...