Cod sursa(job #2748874)

Utilizator Tudor_StefanaStefana Tudor Tudor_Stefana Data 3 mai 2021 20:52:51
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>
using namespace std;

int v[6000001];

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

    int n;
    fin>>n;
    for(int i=1; i<=n;i++)
        fin>>v[i];
    int bestSum=-2000000000, bestLeftIndex, bestRightIndex, currentSum=0, currentLeftIndex=1;
    for(int i=1;i<=n;i++){
        currentSum+= v[i];
        if(currentSum > bestSum){
            bestSum = currentSum;
            bestLeftIndex = currentLeftIndex;
            bestRightIndex = i;
        }
        if(currentSum < 0){
            currentSum = 0;
            currentLeftIndex = i + 1;
        }
    }
    fout<< bestSum <<" "<< bestLeftIndex <<" "<< bestRightIndex;
}