Cod sursa(job #590652)

Utilizator ukiandreaAndreea Lucau ukiandrea Data 19 mai 2011 00:12:15
Problema Subsecventa de suma maxima Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <stdio.h>
#include <iostream>
#include <fstream>

#define MAX_INT 

int main()
{
    int n, x, i, i1, i2;

    int sum = -99999, s = -99999, start = -1, end = -1;

    std::ofstream out_f;
    std::ifstream in_f;

    in_f.open("ssm.in");
    out_f.open ("ssm.out");

    in_f >> n;
        
    for (i = 1; i <= n; i++) {
        in_f >> x;
	
        if ((s + x) >= x) {
            i2++;
            s = s + x;
        } else {
            if (s > sum)
            {
                start = i1;
                end = i2;
                sum = s;
            }

            s = x;
            i1 = i2 = i;
        }
    }
    
    if (s > sum)
    {
        start = i1;
        end = i2;
        sum = s;
    }

    out_f << sum << " " << start << " " << end;

    out_f.close();
    in_f.close();

    return 0;
}