Cod sursa(job #1282671)

Utilizator kappykkDragos kappykk Data 4 decembrie 2014 17:01:52
Problema Subsecventa de suma maxima Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
#define VM 6000001

using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

long long x[VM];
long long b[VM];

int main()
{
    int maxx = -VM;
    int n;
    f>>n;
    for(int i = 1 ; i <= n ; ++i){
        f>>x[i];
    }
    int s, inceput, capat, ind;
    for(int i = 1 ; i <= n ; ++i){
        b[i] = max(b[i - 1] + x[i] , x[i]);
        if(b[i] == x[i])
            ind = i;
        if(b[i] > maxx){
                maxx = b[i];
                inceput = ind;
                capat = i;
            }
    }
    g<<maxx<<" "<<inceput<<" "<<capat;
    return 0;
}