Cod sursa(job #1332975)

Utilizator AcuasPopescu Nicolae-Aurelian Acuas Data 2 februarie 2015 17:13:24
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <algorithm>
#define NMAX 6000001

using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int v[NMAX],i,j,SUM,n,MAX,a,b,c[NMAX];
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    MAX=c[1];
    a=1;
    c[n]=v[n];
    for(i=n-1;i>=1;i--){
        c[i]=max(v[i],v[i]+c[i+1]);
    }
    int s=0;
    for(i=1;i<=n;i++)
        if(c[i]>MAX){
            MAX=c[i];
            a=i;
        }
    for(b=a;b<=n;b++){
        s+=v[b];
        if(s==MAX)
            break;
    }
    g<<MAX<<' '<<a<<' '<<b<<'\n';
    return 0;
}