Cod sursa(job #1758573)

Utilizator miha1000Dica Mihai miha1000 Data 17 septembrie 2016 14:52:04
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <algorithm>
#include <cstring>
#include <fstream>
using namespace std;
int n,i,j,drmax,stmax,pmin,minim,Smaxim,Si,Smax;
int v[6000000];
int main(){
    ifstream f;
    ofstream g;
    f.open("ssm.in");
    f >> n;
    for (i=1; i<=n; i++)
    {
        f >> v[i];
    }
    f.close();
    Si=0;
    minim=Si;
    Smaxim=v[1];
    pmin=0;
    stmax=1;
    drmax=1;
    for(i=1; i<=n; i++){
        Si=Si+v[i];
        Smax=Si-minim;
        if(Smax> Smaxim) {
            Smaxim= Smax;
            drmax=i;
            stmax=pmin+1;
        }
        if(minim > Si) {
            minim=Si;
            pmin=i;
        }
    }

    g.open("ssm.out");
    g<<Smaxim << " " << stmax << " " << drmax;
	g.close();
	return 0;
}