Cod sursa(job #897944)

Utilizator evodaniVasile Daniel evodani Data 27 februarie 2013 23:13:26
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <cstdio>
using namespace std;
FILE *fin, *fout;
int n, bst, ant, inc, sf, bsm, icm, sfm;
int main()
{
    int i, a;
    fin=fopen("ssm.in", "r"); fout=fopen("ssm.out", "w");
    fscanf (fin, "%d", &n); fscanf (fin, "%d", &ant); inc=1; sf=1; bst=bsm=ant;
    for (i=2; i<=n; ++i) {
        fscanf (fin, "%d", &a);
        bst=ant+a; ++sf;
        if (a>bst) {
            inc=sf=i;
            bst=a;
        }
        if (bst>bsm) { bsm=bst; icm=inc; sfm=sf; }
        ant=bst;
    }
    fprintf (fout, "%d %d %d\n", bsm, icm, sfm);
    fclose(fin); fclose(fout);
    return 0;
}