Cod sursa(job #1783469)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 19 octombrie 2016 00:32:59
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda cerculdeinfo-lectia3-programaredinamica1 Marime 0.6 kb
#include <cstdio>
#include <algorithm>
#define MaxN 6000001
#define INF 2000000000
using namespace std;
 
int v[MaxN]={},N,Min=INF,minpos=0,Max=-INF,maxpos=0,start;
int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d",&N);
    for(int i=1;i<=N;i++)
    {
        scanf("%d",&v[i]);
        v[i]+=v[i-1];
    }
    for(int i=1;i<=N;i++)
    {
        if(Max<v[i]-v[minpos])
            Max=v[i]-v[minpos],maxpos=i,start=minpos+1;
        if(Min>v[i])
            Min=v[i],minpos=i;
    }
    printf("%d %d %d",Max,start,maxpos);
    return 0;
}