Cod sursa(job #1149209)

Utilizator alex199898Poboranu Alexandru alex199898 Data 21 martie 2014 15:38:07
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include<limits.h>

using namespace std;

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

int s[6000001],n;

int main()
{
    int i,sc,smax=INT_MIN,start,end_,x,smin=0,pmin=0;
    in>>n;
    for(i=1;i<=n;i++){
        in>>x;
        s[i]=s[i-1]+x;
    }
    for(i=1;i<=n;i++){
        sc=s[i]-smin;
        if(sc>smax){
            smax=sc;
            start=pmin+1;
            end_=i;
        }
        if(s[i]<smin){
            smin=s[i];
            pmin=i;
        }
    }

    out<<smax<<" "<<start<<" "<<end_;
    return 0;
}