Cod sursa(job #1998626)

Utilizator ARobertAntohi Robert ARobert Data 8 iulie 2017 16:31:04
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <iostream>
#include <cmath>

using namespace std;

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

int n, v[6000001], suma[6000001], minsum, i, j, first, last, temp, maxsum;

int main()
{
    minsum=v[1];
    maxsum=v[1];
    suma[1]=v[1];
    last=1;
    first=1;
    temp=1;
    fin>>n;
    for (i=1;i<=n;i++)
    {
        fin>>v[i];

    }
    for (i=2;i<=n;i++)
    {
        suma[i]=suma[i-1]+v[i];
        if (suma[i]-minsum>maxsum)
        {
            maxsum=suma[i]-minsum;
            first=temp;
            last=i;
        }
        if (suma[i]<minsum)
        {
            minsum=suma[i];
            temp=i;
        }
    }
    fout<<maxsum<<" "<<first+1<<" "<<last;
    return 0;
}