Cod sursa(job #1768692)

Utilizator mihai.alphamihai craciun mihai.alpha Data 1 octombrie 2016 12:34:14
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <cstdio>

int s[6000001];

int main()  {
    FILE *fin = fopen("ssm.in", "r");
    FILE *fout = fopen("ssm.out", "w");
    int n;
    fscanf(fin, "%d", &n);
    int i;
    int elem, min = 1000000000;
    int first, last, rez = -1, indmin;
    s[0] = 0;
    for(i = 1;i <= n;i++)  {
        fscanf(fin, "%d", &elem);
        s[i] = s[i - 1] + elem;
      //  printf("%d ", s[i]);
        if(s[i] < min)  {
            min = s[i];
            indmin = i;
        }
    }
   // printf("%d", indmin);
    for(i = indmin;i <= n;i++)  {
        if(s[i] - s[indmin] > rez)  {
            rez = s[i] - s[indmin];
            last = i;
        }
    }
    fprintf(fout, "%d %d %d", rez, indmin + 1, last);
    fclose(fin);
    fclose(fout);
    return 0;
}