Cod sursa(job #915878)

Utilizator Walrus21andrei Walrus21 Data 15 martie 2013 14:25:46
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>

using namespace std;

FILE *f=fopen("ssm.in","r");
FILE *g=fopen("ssm.out","w");

int i,j(1),N,s,p1(1),p2(1),S[6000000],st[6000000];

int main()
{
    fscanf(f,"%d",&N);
    for(i=1;i<=N;i++)
     fscanf(f,"%d",&S[i]);
    s=S[1]; st[1]=S[1];
    for(i=2;i<=N;i++)
    {
        if(st[i-1]>=0) st[i]=st[i-1]+S[i];
        else {st[i]=S[i]; j=i;}
        if(st[i]>s) {s=st[i]; p1=j; p2=i;}
    }
    fprintf(g,"%d %d %d",s,p1,p2);
    return 0;
}