Cod sursa(job #3182598)

Utilizator christalknightChristian Micea christalknight Data 9 decembrie 2023 10:55:41
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int main(){
    int n, sumMax, sumCurent, elemCurent, elStart, elFinish, i = 1, startCurent;
    
    fin>>n;
    n--;
    fin>>elemCurent;
    sumMax = elemCurent;
    elStart = elFinish = i;
    if(elemCurent > 0)
        sumCurent = elemCurent;

    while(n--){
        fin>>elemCurent;
        i++;
        if(sumCurent < 0){
            sumCurent = elemCurent;
            startCurent = i;
            }
        else sumCurent += elemCurent;
        
        if(sumMax < sumCurent){
                sumMax = sumCurent;
                elStart = startCurent;
                elFinish = i;
                }
        }

    fout<<sumMax<<" "<<elStart<<" "<<elFinish<<"\n";
    }