Cod sursa(job #1497087)

Utilizator DanutsDanut Rusu Danuts Data 6 octombrie 2015 03:11:38
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream fin("ssm.in");
    ofstream gout("ssm.out");

    int n,*v;
    fin>>n;
    v = new int[n];
    for(int i=0;i<n;++i)
        fin>>v[i];

    int bestSum = -1111111;
    int idx = 0, minim = 0, first , last;
    for(int i=1;i<n;++i)
    {
        v[i]+=v[i-1];
        if(bestSum < v[i] - minim)
        {
            bestSum = v[i] - minim;
            first = idx + 1;
            last = i;
        }
        if(v[i] < minim)
        {
            minim = v[i];
            idx = i;
        }
    }
    gout<<bestSum<<" "<<first+1<<" "<<last+1;
    return 0;
}