Cod sursa(job #377070)

Utilizator alexandru92alexandru alexandru92 Data 23 decembrie 2009 13:01:13
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
/* 
 * File:   main.cpp
 * Author: virtualdemon
 *
 * Created on December 23, 2009, 12:32 PM
 */
//#include <fstream>
#include <cstdio>

/*
 * 
 */
using namespace std;
int main()
{int n, x, S, SMax, start=1, end=1, st=1, i;
    freopen("ssm.in", "rt", stdin );
    scanf("%d%d",&n,&x);
    //ifstream in("ssm.in");
    //in>>n>>x;
    S=SMax=x;
    for( i=2; i <= n; ++i )
    {scanf("%d",&x);
        //in>>x;
        if( S < 0 )
        {S=x; start=i;
            if( SMax < S )
                SMax=S, st=start, end=i;
        }
        else {
                S+=x;
                if( S > SMax )
                    SMax=S, st=start, end=i;
             }
    }
    freopen("ssm.out", "wt", stdout );
    printf("%d %d %d\n", SMax, st, end );
    //ofstream out("ssm.out");
    //out<<SMax<<' '<<st<<' '<<end;
    return 0;
}