Cod sursa(job #2257653)

Utilizator SqueekDanielTodasca Daniel SqueekDaniel Data 10 octombrie 2018 11:58:26
Problema Subsecventa de suma maxima Scor 55
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;
}