Cod sursa(job #261040)

Utilizator runnaway90Oprescu Radu Constantin runnaway90 Data 17 februarie 2009 20:32:25
Problema Subsecventa de suma maxima Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.62 kb
#include<stdio.h>

int s[2], smax = 0, i, n, inc[2], in , out, a;

int main(){
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d",&n);

    for (i = 1; i <= n; i++){
        scanf("%d", &a);
        if (s[(i+1)%2] < 0)
            s[i%2] = a, inc[i%2] = i;
        else
            s[i%2] = s[(i+1)%2] + a,
            inc[i%2] = inc[(i+1)%2];

        if ( s[i%2] > smax){
            smax = s[i%2];
            in = inc[i%2];
            out = i;
        }
        //printf("%d %d %d\n", s[i%2], inc[i%2], i);
    }
    printf("%d %d %d\n", smax, in, out);
    return 0;
}