Cod sursa(job #1864306)

Utilizator valentinoMoldovan Rares valentino Data 31 ianuarie 2017 18:10:37
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#include <iostream>
#define INF 0x3f3f3f3f
#define NM 6000005
using namespace std;

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

int n, v[NM];

int main()
{
    int st, dr, indx = 1, ends, s = 0, maxx = -INF;
    f >> n;
    for(int i = 1; i <= n; ++i) f >> v[i];
    for(int i = 1; i <= n; ++i)
    {
        if(s < 0)
        {
            s = v[i];
            indx = i;
        }
        else s += v[i];
        if(s > maxx)
        {
            maxx = s;
            st = indx;
            dr = i;
        }
    }
    g << maxx << ' ' << st << ' ' << dr;

}