Cod sursa(job #992926)

Utilizator sebinechitasebi nechita sebinechita Data 2 septembrie 2013 19:59:45
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <cmath>
using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");
#define baza 10
#define MAX 6000005

long long int  n,b,nr,i;
long long int x,m,maxi;

int a[MAX];
int s[MAX];


int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
    }

    a[0]=0;
    s[1]=a[1];
    maxi=s[1];
    b=1;
    for(i=2;i<=n;i++)
    {
        s[i]=max(a[i], a[i]+s[i-1]);
        if(s[i]>maxi)
            maxi=s[i],b=i;
    }

    for(i=b;s[i]>=0;i--);

    if(b!=i)
        i++;
    fout<<s[b]<<" "<<i<<" "<<b;




    return 0;
}