Cod sursa(job #1990114)

Utilizator vicpop14Victor Popescu vicpop14 Data 10 iunie 2017 15:39:53
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>


using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int main()
{
    int n, i, j, minim=(1ll << 31) - 1, smax=-(1ll << 31)+1, sp[6000001], v[6000001], ind, ii, s, st, dr;
    cin>>n;
    for(i=0; i<n; i++)
    {
        cin>>v[i];
        if (i==0)
            sp[i]=v[i];
        else sp[i]=sp[i-1]+v[i];
    }
    for(j=0; j<n; j++)
    {
        if(minim>v[j])
        {
            minim=v[j];
            ind = j;
        }

        ii=ind;
        s=sp[j]-sp[ii];
        if(s>smax)
        {
            smax=s;
            st=ii+1;
            dr=j;
        }
    }
    cout<<smax<<" "<<st+1<<" "<<dr+1;

    return 0;
}