比赛 板子大赛 评测结果 AAAAAAAAAA
题目名称 单子序列最大和 最终得分 100
用户昵称 chenbp 运行时间 0.113 s
代码语言 C++ 内存使用 3.47 MiB
提交时间 2025-01-22 14:19:40
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int a[1000006];
int f[1000006];
int main() {
    freopen("subq.in","r",stdin);
    freopen("subq.out","w",stdout);
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=n;i++){
        f[i]=max(a[i],f[i-1]+a[i]);
    }
    int ans=0;
    f[0]=-2147483648ll;
    for(int i=1;i<=n;i++){
        if(f[ans]<f[i])ans=i;
    }
    int fr;
    int tot=0;
    for(int i=ans;i>=1;i--){
        tot+=a[i];
        if(tot==f[ans]){
            fr=i;
        }
    }
    cout<<fr<<endl;
    cout<<ans<<endl;
    cout<<f[ans];
    return 0;
}