Cod sursa(job #2221644)

Utilizator claudiu.gatinaFMI Claudiu Gatina claudiu.gatina Data 15 iulie 2018 11:23:20
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <cstdio>
#include <vector>

using namespace std;

int main()
{
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);
    int n;
    scanf("%d", &n);
    int left = 0, right = 0, sum = 0, lmax, rmax, max = -1000000;
    for(int i = 1; i <= n; ++i)
    {
        int a;
        scanf("%d", &a);
        if(sum + a > 0)
        {
            right = i;
            sum += a;
            if(max < sum)
            {
                max = sum;
                lmax = left;
                rmax = right;
            }
        }
        else
        {
            left = i + 1;
            sum = 0;
        }

    }
    printf("%d %d %d", max, lmax, rmax);
    return 0;
}