Cod sursa(job #2114051)

Utilizator CozminelDanielLupu Cosmin-Daniel CozminelDaniel Data 25 ianuarie 2018 14:18:19
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("secvsummax.in");
ofstream fout("secvsummax.out");

int a[100005];
int main()
{
    int n,i,st,dr,p,s,smax;
    fin >> n;
    fin >> a[1];
    s=smax=a[1];
    st=dr=p=1;
    if(s<0)
    {
        p=2;
        s=0;
    }
    for(i=2;i<=n;i++)
    {
        fin >> a[i];
        s=s+a[i];
        if(smax<s)
        {
            smax=s;
            st=p;
            dr=i;
        }
        if(s<0)
        {
            s=0;
            p=i+1;
        }
    }
    fout << smax << " " << st << " " << dr;
    return 0;
}