站外题求调 qwq
  • 板块学术版
  • 楼主lcc0222
  • 当前回复1
  • 已保存回复1
  • 发布时间2025/7/3 20:48
  • 上次更新2025/7/4 06:27:55
查看原帖
站外题求调 qwq
1536846
lcc0222楼主2025/7/3 20:48

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 的原因是可能有 a×b-a \times -b

2025/7/3 20:48
加载中...