Cod sursa(job #1571813)

Utilizator Wh1plashOvidiu Taralesca Wh1plash Data 18 ianuarie 2016 15:39:13
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;

long long  x, Max=-(int)(2e9), s=0,p1,p2,P1,P2, n;
int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%lld",&n);
    scanf("%lld",&x);
    s=x;
    p1=p2=1;
    for(int i=2;i<=n;i++)
    {
        scanf("%lld",&x);
        if (s+x>=x)
        {
            s=s+x;
            p2=i;
        }
        else
        {
            s=x;
            p1=p2=i;
        }
        if (s>Max)
        {
            Max = s;
            P1=p1;
            P2=p2;
        }
    }
    printf("%lld %lld %lld", Max,P1,P2);
    return 0;
}