Cod sursa(job #1939072)

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

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


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