Cod sursa(job #1335966)

Utilizator PescaruVictorPescaru Victor PescaruVictor Data 6 februarie 2015 10:16:00
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <cstdio>

using namespace std;

FILE * fin=fopen("ssm.in", "r");
FILE * fout=fopen("ssm.out", "w");

int n;
int s;

int main()
{
    int i, inc=1, sf, maxim=-999999999;
    int mini=999999999;
    int el;
    int poz;
    fscanf(fin, "%d\n", &n);
    for(i=1; i<=n; ++i)
    {
        fscanf(fin, "%d ", &el);
        s=s+el;
        if(s<s-mini && poz!=i)
        {
            if(maxim<s-mini)
                {
                    maxim=s-mini;
                    inc=poz+1; sf=i;
                }
        }
        else
        {
            if(maxim<s)
                {
                    maxim=s;
                    inc=1; sf=i;
                }
        }

        if(mini>s)
        {
            mini=s;
            poz=i;
        }
    }
    fprintf(fout, "%d %d %d\n", maxim, inc, sf);
    return 0;
}