Cod sursa(job #1651131)

Utilizator dsergiu05Sergiu Druga dsergiu05 Data 12 martie 2016 12:42:00
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

using namespace std;

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

const int nmax=6e6, inf=(1<<31)-1;
int s[nmax+1];

int main () {
    int n;
    fin>>n;

    for (int i=1; i<=n; i++) {
        fin>>s[i];
        s[i]+=s[i-1];
    }
    int sol=-inf, solx, soly, aux=inf, auxp;
    for (int i=1; i<=n; i++) {
        if (s[i-1]<aux) {
            aux=s[i-1];
            auxp=i;
        }
        if (s[i]-aux>sol) {
            sol=s[i]-aux;
            solx=auxp;
            soly=i;
        }
    }
    fout<<sol<<" "<<solx<<" "<<soly<<"\n";
    return 0;
}