Cod sursa(job #1143104)

Utilizator RarRaresNedelcu Rares RarRares Data 14 martie 2014 19:09:30
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <cstdio>
#include <fstream>
#define nmax 6000005
using namespace std;

int smax, smin;
int imax, imin, j;
ifstream fin("ssm.in");
ofstream fout("ssm.out");

int N;


void citire(){
    fin >> N;
    int s = 0;
    smax = -0x3f3f3f3f;
    smin = 0x3f3f3f3f;
    int x;
    for(int i = 1; i <= N; ++i){
        fin >> x;
        if(s < smin){
            smin = s;
            j = i;
        }

        s += x;

        if(s - smin > smax){
            smax = s - smin;
            imax = i;
            imin = j;
        }

    }

}


int main()
{
//    freopen("ssm.in", "r", stdin);
//    freopen("ssm.out", "w", stdout);


    citire();

    fout << smax << ' ' << imin << ' ' << imax;

    fin.close(), fout.close();
    return 0;
}