Cod sursa(job #2549629)

Utilizator darianegreanDaria Negrean darianegrean Data 17 februarie 2020 21:00:27
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int a[6000000],sum[6000000],best[6000000],n,bestsum=-99999,mn,poz1,poz2;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++) sum[i]=a[i]+sum[i-1];
    mn=0;
    for(int i=1;i<=n;i++)
    {
        best[i]=sum[i]-mn;
        if(mn>sum[i]){mn=sum[i];poz1=i;}
        if(bestsum<best[i]){poz2=i;bestsum=best[i];}
    }
    cout<<bestsum<<" "<<poz1+1<<" "<<poz2;
}