Cod sursa(job #905951)

Utilizator doomaSalagean Calin dooma Data 6 martie 2013 12:42:07
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;
#define NMAX 6000002
ifstream in("ssm.in");
ofstream out("ssm.out");
int S[NMAX];
int main()
{
    unsigned int i, n, iimin;
    int min = NMAX, imin = NMAX, imax = -1, tmp, bestSum = 0;
    in >> n >> S[0];
    for(i = 1; i < n; i++){
        in >> tmp;
        S[i] = S[i-1] + tmp;
    }
    for(i = 0; i < n; i++){
        if(bestSum < S[i] - min){
            bestSum = S[i] - min;
            imax = i;
            iimin = imin + 1;
        }
        if(min > S[i]){
            min = S[i];
            imin = i;
        }
    }
    out << bestSum << " " << iimin + 1 <<" "<< imax + 1;
    in.close();
    return 0;
}