Cod sursa(job #1045089)

Utilizator 0051David Sera 0051 Data 30 noiembrie 2013 21:14:16
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
#include <iostream>

using namespace std;

#define MAX 6000000

int a[MAX],c[MAX];

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

int main()
{
    int n,i,mx,jx;
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    c[0]=-1;
    for(i=1;i<=n;i++)
        c[i]=max(a[i],a[i]+c[i-1]);
    c[0]=-1;
    mx=c[1];
    for(i=0;i<=n;i++){
        if(c[i]>mx){
            mx=c[i];
            jx=i;
        }
    }
    fout<<mx<<" ";
    for(i=jx;i>=0;i--){
         if(c[i]<0){
            fout<<i<<" ";
            break;
         }
    }
    fout<<jx<<"\n";
    fin.close();
    fout.close();
    return 0;
}