Cod sursa(job #1939039)

Utilizator vlad_pPlavat Vlad vlad_p Data 25 martie 2017 13:32:11
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.98 kb
#include <iostream>
#include <fstream>
#include <limits.h>

using namespace std;

/*int num[60000000]/*,SP[60000000]*///,minime[60000000];
int minprev=0,mincur,spprev,spcur;

int main()
{
    ifstream in ("ssm.in");
    ofstream out ("ssm.out");
    int n,curent;
    in>>n;
    int Max = INT_MIN;
    /*for(int i=1;i<=n;i++)
        in>>num[i];*/
    int u=0,mi=0,pf=0;
    for(int j=1;j<=n;j++){
        in>>curent;
        /*SP[j]*/spcur=/*SP[j-1]*/spprev+curent;

        if(/*SP[j]*/spcur</*minime[j-1]*/minprev){
            mi=j;
        }
        /*minime[j]*/mincur=min(/*minime[j-1]*/minprev,/*SP[j]*/spcur);

        if(/*SP[j]*/spcur-/*minime[j-1]*/minprev >= Max){
            Max = /*SP[j]*/spcur-/*minime[j-1]*/minprev;
            u=j;
            pf=mi;
        }
        //cout<<minime[j]<<endl<<endl;
        minprev=mincur;
        spprev=spcur;
    }
    out<<Max<<' '<<pf+1<<' '<<u;


    in.close();
    out.close();
    return 0;
}