Cod sursa(job #1649711)

Utilizator AndreidorianDiaconescu Andrei-Dorian Andreidorian Data 11 martie 2016 14:45:12
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
using namespace std;
int a[6000000];
int s[6000000];
int main()
{ifstream in("ssm.in");
ofstream out("ssm.out");
int n,mx=-99999,mn=99999,mxi,mni,mxe=-99999,mxei=0;
in>>n;
in>>a[1];
s[1]=a[1];
for(int i=2;i<=n;i++)
{
    in>>a[i];
    if(a[i]>mxe)
        {mxe=a[i];
        mxei=i;
        }
    s[i]=s[i-1]+a[i];
    {
        if(s[i]>mx)
        {
            mxi=i;
            mx=s[i];
        }
        if(s[i]<mn)
        {
            mni=i;
            mn=s[i];
        }
    }

}
if(mx<0 && mn<0)
{
    out<<mxe<<" "<<mxei<<" "<<mxei;
}
else {out<<mx-mn<<" ";
        if(mxi>mni)
{
    out<<mni+1<<" "<<mxi;
}
else out<<mxi+1<<" "<<mni;
}



    return 0;
}