Cod sursa(job #2158167)

Utilizator DordeDorde Matei Dorde Data 10 martie 2018 11:05:19
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <stdio.h>
using namespace std;
int const nm=6000007;
int v[nm];
int main()
{
    int i,j,bestmin,bestmax,poz,poz1,poz2,n;
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;++i)
    {
        scanf("%d",&v[i]);
        v[i]+=v[i-1];
    }
    bestmin=v[0];
    bestmax=0;
    for(i=1;i<=n;++i)
    {
        if(bestmin>=v[i])
            bestmin=v[i],poz=i+1;
        if(bestmax<v[i]-bestmin)
            bestmax=v[i]-bestmin,poz1=poz,poz2=i;
    }
    printf("%d %d %d\n",bestmax,poz1,poz2);
    return 0;
}