Cod sursa(job #1817023)

Utilizator CriistinaMicula Cristina Criistina Data 27 noiembrie 2016 11:57:01
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#define Nmax 6000001

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

int n, v[Nmax], s, xi[Nmax], xj;

int main()
{
    f>>n;
    for(int i=1;i<=n;i++)
    {
        f>>v[i];
    }
    s=v[1];
    xj=1;
    xi[1]=1;
    for(int i=2;i<=n;i++)
    {
        if(v[i]>v[i]+v[i-1]){
            xi[i]=i;
        }
        else
        {
            xi[i]=xi[i-1];
            v[i]+=v[i-1];
        }
        if(v[i]>s)
        {
            s=v[i];
            xj=i;
        }
    }
    g<<s<<' '<<xi[xj]<<' '<<xj;
    return 0;
}