Cod sursa(job #1415087)

Utilizator klbraduRadu Capalb klbradu Data 3 aprilie 2015 18:59:41
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
using namespace std;
int n, v[6000005], s[6000005], Max, i, p, pm, um;

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

int main(){
    fin>>n;
    fin>>v[1];
    s[1] = v[1];
    p = 1;
    Max = v[1];
    pm = 1;
    um = 1;
    for(i=2;i<=n;i++){
        fin>>v[i];
        if (v[i] > s[i-1] + v[i]) {
            s[i] = v[i];
            p = i;
        } else {
            s[i] = s[i-1] + v[i];
        }
        if(s[i] > Max){
            Max = s[i];
            pm = p;
            um = i;
        }
    }
    fout<<Max<<" "<<pm<<" "<<um;
}