Cod sursa(job #590621)

Utilizator ukiandreaAndreea Lucau ukiandrea Data 18 mai 2011 20:50:34
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include <stdio.h>
#include <iostream>
#include <fstream>

#define MAX_INT 

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

    int sum = -32000, start, end;

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

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

    in_f >> n;
        
    in_f >> x;
    start = end = 1;
    s = x;
    
    for (i = 2; i <= n; i++) {
        in_f >> x;

        if ((s + x) > x) {
            i2++;
            s = s + x;

            if (s > sum)
            {
                start = i1;
                end = i2;
                sum = s;
            }
        } 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;
}