Cod sursa(job #2118068)

Utilizator DawlauAndrei Blahovici Dawlau Data 29 ianuarie 2018 23:22:21
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<fstream>
#include<climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int INF = INT_MAX;

int partialSum, leftIndex = 1, maxSum = -INF, index, number, numbersCount, leftForAnswer, rightForAnswer;
int main(){

    fin >> numbersCount;
    for(index = 1; index <= numbersCount; ++index){

        fin >> number;
        partialSum += number;
        if(partialSum > maxSum){

            maxSum = partialSum;
            rightForAnswer = index;
            leftForAnswer = leftIndex;
        }

        if(partialSum < 0){

            partialSum = 0;
            leftIndex = index + 1;
        }
    }

    fout << maxSum << ' ' << leftForAnswer << ' ' << rightForAnswer;
}