Cod sursa(job #3124821)

Utilizator ingrid.mitzuIngrid Nagy ingrid.mitzu Data 30 aprilie 2023 10:12:10
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb

#include <fstream>

using namespace std;

ifstream cin ("ssm.in");
ofstream cout ("ssm.out");

const long long MAX=(long long) 6000005;

int n, indi, indsf, indicrt, indsfcrt;
long long sumcrt, sum=-2e9;
int v[MAX];

int main()
{
    cin >> n;
    for ( int i=1; i<=n; i++ ) 
    {
        cin >> v[i];
        if ( sumcrt + v[i] < v[i] )
        {
            sumcrt = v[i];
            indicrt=indsfcrt=i;
        }
        else 
        {
            indsfcrt=i;
            sumcrt += v[i];
        }
        if ( sumcrt > sum )
        {
            sum = sumcrt;
            indsf=indsfcrt;
            indi=indicrt;
        }
        
    }
    cout << sum << " " << indi << " " << indsf;
    
    
    return 0;
}