Cod sursa(job #1617353)

Utilizator dsergiu05Sergiu Druga dsergiu05 Data 27 februarie 2016 13:02:40
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>

using namespace std;

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

const int nmax=6e6, inf=2e9;
int v[nmax+1];

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

    for (int i=1; i<=n; i++) {
        fin>>v[i];
        v[i]+=v[i-1];
    }
    int sol=-inf, solx, soly, i=0;
    for (int j=1; j<=n; j++) {
        if (v[j]-v[i]>sol) {
            sol=v[j]-v[i];
            solx=i+1;
            soly=j;
        }
        if (v[j]<v[i]) {
            i=j;
        }
    }

    fout<<sol<<" "<<solx<<" "<<soly<<"\n";
    return 0;
}