| 比赛 | 
    板子大赛 | 
    评测结果 | 
    AAAAAAAAAA | 
    | 题目名称 | 
    单子序列最大和 | 
    最终得分 | 
    100 | 
    | 用户昵称 | 
    梦那边的美好BP | 
    运行时间 | 
    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;
}