Cod sursa(job #800221)

Utilizator TeodoraTanaseTeodora Tanase TeodoraTanase Data 20 octombrie 2012 22:36:16
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <cstdio>

#define NMAX 6000001

using namespace std;

FILE *inFile = fopen ("ssm.in", "r");
FILE *outFile = fopen ("ssm.out", "w");

int main()
{
    int n;
    int s = 0;
    int x;
    int smax = 0;
    int b = 0;
    int inceput = 0;
    int sfarsit = 0;

    fscanf (inFile, "%d\n%d ", &n, &s);

    for (int i = 2; i <= n; ++ i)
    {
        fscanf (inFile, "%d ", &x);

        if (s + x >= 0)
            s += x;
        else
        {
            s = x;
            b = i;
        }

        if (s > smax)
        {
            smax = s;
            inceput = b;
            sfarsit = i;
        }
    }

    fprintf (outFile, "%d %d %d\n", smax, inceput, sfarsit);

    return 0;
}