我很好奇为什么乘了-1后AC了?
查看原帖
我很好奇为什么乘了-1后AC了?
920938
XingChen_MoNian楼主2025/1/23 19:01
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstring>
#include<deque>
#define int long long
using namespace std;
typedef long long ll;
inline ll read(){
    ll f=1,sum=0;char c=getchar();
    while(!isdigit(c)) {if(c=='-') f=-1;c=getchar();}
    while(isdigit(c)) {sum=sum*10+c-'0';c=getchar();}
    return sum*f;
}
int a[3005];
int dp[3005][3005];
signed main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int len=1;len<=n;len++){
        for(int l=1;l+len-1<=n;l++){
            int r=l+len-1;
            if((n-len)%2==1) dp[l][r]=max(dp[l+1][r]+a[l],dp[l][r-1]+a[r]);
            else dp[l][r]=min(dp[l+1][r]-a[l],dp[l][r-1]-a[r]);
        }
    }
    cout<<-1*dp[1][n];
    return 0;
}

一开始样例都是正的输出负的,负的输出正的,乘个-1过了,麻烦大佬解答,会关

2025/1/23 19:01
加载中...