Cod sursa(job #1337036)

Utilizator blankBalmos Teodora blank Data 8 februarie 2015 15:34:51
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

int i,m1,m2,maxi,n,v[6000001],s[6000001],t[6000001];

int main()
{
    f>>n;

    for(i=1;i<=n;++i)
        f>>v[i];

    for(i=1;i<n;++i)
    {
        if(s[i-1]>0)
        {
            s[i]=s[i-1]+v[i];
            t[i]=t[i-1];
        }
        else
        {
            s[i]=v[i];
            t[i]=i;
        }

        if(s[i]>maxi)
        {
            m1=t[i];
            m2=i;
            maxi=s[i];
        }
    }

    g<<maxi<<" "<<m1<<" "<<m2;


    return 0;
}