Cod sursa(job #1130167)

Utilizator LurchssLaurentiu Duma Lurchss Data 28 februarie 2014 11:37:46
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>

#define max(a,b)((a)>(b)?(a):(b))
#define nmax 7000005
using namespace std;
int s[nmax];
int n;
int smax=-int(2e9),sum=-int(2e9),in,sf,id;
void citire()
{   scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&s[i]);
    for(int i=1;i<=n;i++)
    {
        if(smax<0)
            smax=s[i],id=i;
        else smax+=s[i];
        if(smax>sum)
        sum=smax,in=id,sf=i;
    }
    printf("%d %d %d",sum,in,sf);
}
int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    citire();
    return 0;
}