Cod sursa(job #2145873)

Utilizator severutBogdan Sever-Cristian severut Data 27 februarie 2018 17:41:59
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

ifstream in ("ssm.in");
ofstream out ("ssm.out");

int v[6000001];
int n,indice_minim,indice_maxim,minim,maxim;
int main()
{
    in>>n;
    for (int i=1;i<=n;++i)
    {
        in>>v[i];
        v[i]+=v[i-1];
    }
    minim=0;
    maxim=INT_MIN;
    for (int i=1;i<=n;++i)
    {
        if (v[i]<=minim)
        {
            minim=v[i];
            indice_minim=i;
        }
        if (v[i]-minim>maxim)
        {
            maxim=v[i]-minim;
            indice_maxim=i;
        }
    }
    out<<maxim<<" "<<indice_minim+1<<" "<<indice_maxim;
    return 0;
}