Cod sursa(job #2721777)

Utilizator MariusblockMoga Marius-Ioan Mariusblock Data 12 martie 2021 11:11:53
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

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

long long n,lmax,lcur,cap1,cap2,cap1max,cap2max,DP[4];

int main()
{
    long long i,nr;
    fin>>n;
    lmax = INT_MIN;
    for(i = 1; i <= n; i++){
        fin>>nr;
        if(DP[0] >= 0){
            DP[1] = DP[0]+nr;
            cap2 = i;
        }else{
            DP[1] = nr;
            cap1 = i;
            cap2 = i;
        }
        if(DP[1] > lmax){
            lmax = DP[1];
            cap1max = cap1;
            cap2max = cap2;
        }
        DP[0] = DP[1];
    }
    fout<<lmax<<' '<<cap1max<<' '<<cap2max<<'\n';
    return 0;
}