Cod sursa(job #1366419)

Utilizator raluca1234Tudor Raluca raluca1234 Data 1 martie 2015 00:57:50
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
//SUBSECVENTA DE SUMA MAXIMA- CLASICA PROBLEMA
#include<fstream>
#include<iostream>
using namespace std;
int s[6000001],N,i,pozi,pmin,pozf;
int main()
{
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    f>>N;
    s[0]=0;
    for (i=1; i<=N; i++) {
        f>>s[i];
        s[i]=s[i-1]+s[i];
    }
    int minim=0;
    int maxim=s[1];
    for (i=1; i<=N; i++)
    {
        if (s[i-1]<minim) {
            minim=s[i-1];
            pmin=i;
        }
        if (s[i]-minim>maxim){
            maxim=s[i]-minim;
            pozf=i; //pozitia de final
            pozi=pmin; //pozitia de inceput
        }
    }
    g<<maxim<<" "<<pozi<<" "<<pozf;
    return 0;
}