Cod sursa(job #1070032)

Utilizator rogoz.bogdanRogoz Bogdan rogoz.bogdan Data 30 decembrie 2013 21:23:44
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <cstdio>
using namespace std;

int main()
{
    int n,i;
    int s=1,d=1,best=-2000000000,m,act=-2000000000;
    FILE * fin;
    FILE * fout;
    fin = fopen("ssm.in", "r");
    fout = fopen("ssm.out", "w");
    fscanf(fin, "%d", &n);
    for(i=1; i<=n; i++)
    {
        fscanf(fin, "%d", &m);
        if(m > act+m) { act=m; s=i; d=i; }
        else if(i!=n) { act+=m; d++; }
        if(act>best) best=act;
        //printf("%d%c%d%c", s, ' ', d, '\n');
    }
    fprintf(fout, "%d%c%d%c%d%c", best, ' ', s, ' ', d, '\n');

    fclose(fin); fclose(fout);
    return 0;
}