Cod sursa(job #1666367)

Utilizator pitradaPit-Rada Ionel-Vasile pitrada Data 27 martie 2016 23:24:14
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include<fstream>
using namespace std;
ifstream  fin("ssm.in");
ofstream fout("ssm.out");
int n, smax, imax, jmax, negmax, negimax;
int main(){
    int i,s,p,x;
    fin>>n;
    smax=-2000000000;
    negmax=0;
    p=1;
    s=0;
    for(i=1;i<=n;i++){
        fin>>x;
        if(x<0 && x>negmax){
            negmax=x;
            negimax=i;
        }
        s=s+x;
        if(s<0){
            p=i+1;
            s=0;
        }
        else{
            if(s<smax){
                smax=s;
                imax=p;
                jmax=i;
            }
        }
    }
    if(smax<0){
        fout<<negmax<<" "<<negimax<<" "<<negimax;
    }
    else{
        fout<<smax<<" "<<imax<<" "<<jmax;
    }
    fout.close();
    fin.close();
    return 0;
}