Cod sursa(job #2219952)

Utilizator antracodsAntracod antracods Data 10 iulie 2018 10:28:36
Problema Subsecventa de suma maxima Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int NMAX = 1000;
int v[NMAX+2];

int main()
{
    int n;
    in>>n;
    int prev=0;
    int sol=0,maxsol,maxdr=1,maxst=1;
    int st,dr;
    for(int i=1; i<=n; i++)
    {
        in>>v[i];
    }
    maxsol=v[1];
    sol=v[1];
    st=1,dr=1;
    for(int i=2; i<=n; i++)
    {
        if(v[i]+sol>v[i])
        {
            dr++;
            sol+=v[i];
        }
        else
        {
            st=i;
            dr=i;
            sol=v[i];
        }
        if(sol>maxsol)
        {
            maxsol=sol;
            maxst=st;
            maxdr=dr;
        }

    }
    out<<maxsol<<" "<<maxst<<" "<<maxdr;
}