Cod sursa(job #2270196)

Utilizator AlexandruBrezuleanuAlexandruBrezuleanu AlexandruBrezuleanu Data 27 octombrie 2018 10:05:37
Problema Subsecventa de suma maxima Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#define MAX 6000010
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[MAX];
int d[MAX];
long long int n,i,maxim;
int st=1,dr;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>v[i];
        if(d[i-1]+v[i]>v[i])
            d[i]=d[i-1]+v[i];
        else
            {d[i]=v[i];
             st=i;
            }
        if(d[i]>maxim)
        {
            maxim=d[i];
            dr=i;
        }
    }
    if(st>dr)
        st=dr;
    fout<<maxim<<' '<<st<<' '<<dr;;
    return 0;
}