Cod sursa(job #2701319)

Utilizator Tudor_StefanaStefana Tudor Tudor_Stefana Data 30 ianuarie 2021 14:05:32
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
using namespace std;

long long 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;
}