Cod sursa(job #2506012)

Utilizator Albert_GAlbert G Albert_G Data 7 decembrie 2019 12:49:59
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

using namespace std;
const int N = 6e6;
int s[N],ind[N];
int main()
{
    fstream fin("ssm.in");
    ofstream fout("ssm.out");
    int n,x,smax=0,indmax,sfmax;
    fin>>n>>x;
    s[1]=x;
    smax=s[1];
    ind[1]=1;
    for(int i=2;i<=n;i++){
        fin>>x;
        if(s[i-1]<0){
            s[i]=x;
            ind[i]=i;
        }
        else{
            s[i]=s[i-1]+x;
            ind[i]=ind[i-1];
        }
        if(smax<s[i]) {smax=s[i];
            indmax=ind[i];
            sfmax=i;
        }
    }
    fout<<smax<<' '<<indmax<<' '<<sfmax;
    return 0;
}