Cod sursa(job #1939016)

Utilizator rauliacobanRaul Iacoban rauliacoban Data 25 martie 2017 13:21:39
Problema Subsecventa de suma maxima Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
/*

*/
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
long long s[6000005],m[6000005];
int main ()
{
    long long n,i,mare=-4294960000,x,xm,ym,nr;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>nr;
        s[i]=s[i-1]+nr;
        //m[i]=min(m[i-1],s[i]);
        //mare=max(s[i]-m[i-1],mare);
        if(s[i]<m[i-1])
        {
            m[i]=s[i];
            x=i+1;
        }
        else
            m[i]=m[i-1];
        if(s[i]-m[i-1]>mare)
        {
            mare=s[i]-m[i-1];
            ym=i;
            xm=x;
        }
        //fout<<v[i]<<"  "<<s[i]<<"  "<<m[i]<<endl;
    }
    fout<<mare<<' '<<xm<<' '<<ym<<'\n';


    fin.close();
    fout.close();
    return 0;
}