Cod sursa(job #1701657)

Utilizator GeorginskyGeorge Georginsky Data 13 mai 2016 19:35:29
Problema Subsecventa de suma maxima Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <climits>
#include <fstream>
#define nmax 6000001
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int s[nmax], b, mn=INT_MAX, n, bS=INT_MIN, bg, en, pz;
void read(){
    int x, i;
    in>>n;
    for(i=1; i<=n; i++){
        in>>x;
        s[i]=x+s[i-1];
    }
}

void dp(){
    for(int i=1; i<=n; i++){
        b=s[i]-mn;
        if(bS<b){bS=b;bg=pz+1;en=i;}
        if(s[i]<mn){mn=s[i];pz=i;}
    }
    out<<bS<<" "<<bg<<" "<<en;
}

int main(){
    read();
    dp();
    return 0;
}