#3WA求助
查看原帖
#3WA求助
760776
zzy_zzy楼主2023/3/2 22:26

RT.代码如下,指出问题所在赏一关注。

注:大致思路为枚举三种方式所采摘蘑菇的值,再进行比较。

#include<bits/stdc++.h>
using namespace std;
int a[1000010],ans1[2000010],ans2[2000010],ans3[2000010];

int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        ans1[i]=i-1;
        if(i%2){
            ans2[i]=4*(i/2+1)-4;
        }
        else{
            ans2[i]=4*(i/2)-1;
        }
        if(i==1){
            ans3[i]=0;
        }
        else{
            ans3[i]=n+1+(n-i+1)-1;
        }
    }
    for(int i=n+1;i<=n*2;i++){
        cin>>a[i];
        ans1[i]=3*n-i;
        if((i-n)%2){
            ans2[i]=4*((i-n)/2+1)-3;
        }
        else{
            ans2[i]=4*((i-n)/2)-2;
        }
        ans3[i]=i-n;
    }
    int sum1=0,sum2=0,sum3=0;
    for(int i=1;i<=n*2;i++){
        sum1+=ans1[i]*a[i];
        sum2+=ans2[i]*a[i];
        sum3+=ans3[i]*a[i];
    }
    int ans=max(sum1,max(sum2,sum3));
    cout<<ans;
    return 0;
}
2023/3/2 22:26
加载中...