Cod sursa(job #2257651)

Utilizator SqueekDanielTodasca Daniel SqueekDaniel Data 10 octombrie 2018 11:57:24
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>
#include <climits>

#define inf (int)(INT_MAX-1)

std::ifstream InFile("ssm.in");
std::ofstream OutFile("ssm.out");

int indStart = 1, indEnd,
    Max = -inf, Best = -inf;
void DP() {
    int N, x, i = 0; InFile >> N;
    indEnd = N;

    while(N--) {
        i++;
        InFile >> x;

        if(x > Best+x) {
            indStart = i;
            Best = x;
        }
        else Best = Best+x;

        if(Best > Max) {
            indEnd = i;
            Max = Best;
        }
    }   OutFile << Max << ' ' << indStart << ' ' << indEnd << '\n';
}

int main()
{
    DP();

    return 0;
}