Cod sursa(job #2754629)

Utilizator Linca_AmaliaLinca Mihaela Amalia Linca_Amalia Data 26 mai 2021 10:11:40
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, i, sol1, sol2, start, v[6000005];
long long maxim, ssm;

int main(){
    fin >> n;
    for (i = 1; i <= n; i++)
        fin >> v[i];
    ssm = v[1];
    start = 1;
    maxim = ssm;
    sol1 = sol2 = 1;
    for (i = 2; i <= n; i++){
        if ( v[i] + ssm >= v[i] )
            ssm = v[i] + ssm;
        else{
            ssm = v[i];
            start = i;
        }
        if ( ssm > maxim ){
            maxim = ssm;
            sol1 = start;
            sol2 = i;
        }
    }
    fout << maxim << " " << sol1 << " " << sol2;
    return 0;
}