Cod sursa(job #800227)

Utilizator TeodoraTanaseTeodora Tanase TeodoraTanase Data 20 octombrie 2012 22:54:44
Problema Subsecventa de suma maxima Scor 100
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 = 1<<31;
    int inc = 1;
    int inceput = 1;
    int sfarsit = 1;

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

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

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

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

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

    return 0;
}