Cod sursa(job #265413)

Utilizator vlad_DVlad Dumitriu vlad_D Data 23 februarie 2009 21:06:45
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

using namespace std;

int n;
int bestSum;
int sp; //start position

int sol;
int a, b; //intre a si b
int main() {
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    fin >> n;
    
    a = b = 1;
    int X;
    fin >> X;
    sol = X; bestSum = sol; sp = 1;
    for (int i = 2; i <= n; ++i) {
        fin >> X;
        if (X + bestSum >= X) bestSum +=X;
        else bestSum = X, sp = i;
        if (bestSum > sol) sol = bestSum, a = sp, b = i;        
        }    
    fout << sol << ' ' << a << ' ' << b << '\n';
    return 0;
    }