Cod sursa(job #2075720)

Utilizator mirunafrancescaMiruna mirunafrancesca Data 25 noiembrie 2017 17:08:28
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <stdio.h>
#include <limits.h>
using namespace std;

int a[6000005];

int main()
{
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);

    int n, s=INT_MIN, i, j, sc=0, is, js, d;
    i=j=is=js=1;

    scanf("%d \n", &n);
    for(int i=1; i<=n; i++)
        scanf("%d ", &a[i]);

    for(int l=1; l<=n; l++)
    {
        if(sc<0)
        {
            i=l;
            sc=0;
        }
        sc+=a[l];

        if(sc>s || (sc==s && l-i<d))
         {
             is=i;
             js=l;
             s=sc;
             d=js-is;
         }

    }

    cout<<s<<" "<<is<<" "<<js;

    return 0;
}