Cod sursa(job #1939045)

Utilizator scarlat_lucaLuca Scarlat scarlat_luca Data 25 martie 2017 13:34:40
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream fin  ("ssm.in");
ofstream fout("ssm.out");
int a[6000000],s[6000000],m[6000000];
int main()
{
int j,N,Max=INT_MIN,i,st,dr,x=0,Min=0;
fin>>N;
for(i=1;i<=N;i++)
    fin>>a[i];
for(j=1;j<=N;j++)
{
    s[j]=s[j-1]+a[j];
    if(s[j-1]<Min)
    {
        Min=s[j-1];
        x=j;
    }
    m[j]=min(m[j-1],s[j]);
    if(s[j]-m[j-1]>Max)
        {
        st=x;
        dr=j;
        Max=s[j]-m[j-1];
        }
}
fout<<Max<<' '<<st<<' '<<dr;
return 0;
}