Cod sursa(job #1939055)

Utilizator scarlat_lucaLuca Scarlat scarlat_luca Data 25 martie 2017 13:39:53
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream fin  ("ssm.in");
ofstream fout("ssm.out");
int a[6000001],s[6000001];
int main()
{
int j,N,Max=INT_MIN,i,st,dr,x=0,Min=INT_MAX;
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;
    }
    if(s[j]-Min>Max)
        {
        st=x;
        dr=j;
        Max=s[j]-Min;
        }
}
cout<<Max<<' '<<st<<' '<<dr;
return 0;
}