Cod sursa(job #1745235)

Utilizator antracodRadu Teodor antracod Data 21 august 2016 15:30:56
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int NMAX=6000001;

int v[NMAX],sol[NMAX];

int main()
{
    int n,x,y=0;
    int i,sum=-NMAX;
    in>>n;
    for(i=1;i<=n;i++)
    {
        in>>v[i];
        sol[i]=max(v[i]+sol[i-1],v[i]);
    }
    for(i=1;i<=n;i++)
    {
        if(sol[i]>sum)
        {
            sum=sol[i];
            x=i;
        }
    }
    out<<sum<<" ";
    for(i=x;sol[i]>=0 && i>0;i--)
    {
        sum-=v[i];
    }
    if(i!=x)
        y=i+1;
    else
        y=x;
    out<<y<<" "<<x;
}