Cod sursa(job #3201928)

Utilizator iancuu_andreiIancu Andrei iancuu_andrei Data 10 februarie 2024 09:57:10
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;

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

int v[6000001];

int main()
{
    int n, sumamaxima,sumacurenta,pozcurenta=1,stanga=1,dreapta=1;
    fin>>n;
    for(int i=1;i<=n;i++) fin>>v[i];
    sumamaxima = v[1], sumacurenta = v[1];
    for (int i=2;i<=n;i++)
    {
        if (sumacurenta<0)
        {
            sumacurenta = v[i];
            pozcurenta = i;
        }
        else sumacurenta = sumacurenta + v[i];
        if (sumacurenta > sumamaxima)
        {
            sumamaxima = sumacurenta;
            stanga = pozcurenta;
            dreapta = i;
        }
    }
    fout<<sumamaxima<<' '<<stanga<<' '<<dreapta;
}