Cod sursa(job #260683)

Utilizator pauldbPaul-Dan Baltescu pauldb Data 17 februarie 2009 14:19:03
Problema Subsecventa de suma maxima Scor Ascuns
Compilator cpp Status done
Runda Marime 0.66 kb
#include <stdio.h>

#define MAXN 7000010

int N, Sol, p1, p2;
int A[MAXN];

int main()
{
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);
    
    int i, S = 0, last = 1;
    
    scanf("%d ", &N);
    
    for (i = 1; i <= N; i++) scanf("%d ", &A[i]);
    
    for (i = 1; i <= N; i++)
    {
        if (S < 0) 
        {
              S = A[i];
              last = i;
        }
        else S += A[i];
        

        if (S > Sol) 
        {
              Sol = S;
              p2 = i;              
              p1 = last;
        }
    }
    
    printf("%d %d %d\n", Sol, p1, p2);
    
    return 0;
}