Cod sursa(job #1238799)

Utilizator MarronMarron Marron Data 7 octombrie 2014 18:36:45
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

int main()
{
    int n; f >> n;
    int bs = -1;
    int s = -1;
    int solst = 0;
    int soldr = 0;
    int st = 0;
    int dr = 0;
    for (int i = 1; i <= n; i++) {
        int x; f >> x;
        if (s >= 0) {
            s += x;
            dr = i;
        } else {
            s = x;
            st = dr = i;
        }
        if (s > bs) {
            solst = st;
            soldr = dr;
        }
        bs = max(s, bs);
    }
    g << bs << ' ' << solst << ' ' << soldr << endl;

    f.close();
    g.close();
    return 0;
}