Cod sursa(job #1524571)

Utilizator daneel95Holteiu Daniel-Ninel daneel95 Data 14 noiembrie 2015 11:29:05
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 1.01 kb
#include <fstream>

using namespace std;

ifstream in("ssm.in");
ofstream out("ssm.out");

int n,x;

int main()
{
    int i,max,min,sum=0,inceput,sfarsit,nr=1;
    in>>n;
    min=0;
    max=-int(2e9);
    sum=0;
    inceput=1;
    sfarsit=1;
    for(i=1;i<=n;i++)
    {
        in>>x;
        sum+=x;
        if(sum-min > max)
        {
            max=sum - min;
            sfarsit=i;
            inceput=nr+1;
        }
        if(sum < min)
        {
            min=sum;
            nr=i;
        }
        /*if(sum-min > max)
        {
            max=sum - min;
            sfarsit=nr;
        }*/
        //out<<"Suma="<<sum<<"\t Suma max="<<max<<"\t inceput="<<inceput<<"\t sfarsit="<<sfarsit<<"\n";
    }
    //inceput++;
    if(sfarsit<=inceput) inceput=sfarsit-1;
    out<<max<<" "<<inceput<<" "<<sfarsit;
    /*if(inceput==sfarsit) out<<max<<" "<<inceput<<" "<<sfarsit;
        else out<<max<<" "<<inceput+1<<" "<<sfarsit;*/
    in.close();
    out.close();
    return 0;
}