Cod sursa(job #1782276)

Utilizator ruxi.icleanuRuxandra Icleanu ruxi.icleanu Data 17 octombrie 2016 21:52:37
Problema Subsecventa de suma maxima Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.62 kb
#include <stdio.h>
#include <stdlib.h>

#define INF 2100000000
int main()
{
    int n, a, s, x, i, in, sf, maxs;
    FILE *fi, *fo;
    fi = fopen("ssm.in", "r");
    fo = fopen("ssm.out", "w");
    fscanf(fi, "%d%d", &n, &a);
    s=a;
    x=0;
    maxs=-INF;
    for(i=1; i<n; i++) {
        fscanf(fi, "%d", &a);
        if(s+a<a) {
            s=a;
            x=i;
        }
        else
            s=s+a;

        if(s>maxs) {
            maxs=s;
            in=x;
            sf=i;
        }
    }
    fprintf(fo, "%d %d %d", maxs, in+1, sf+1);
    fclose(fi);
    fclose(fo);
    return 0;
}