Cod sursa(job #542573)

Utilizator daniel.florinPitis Daniel-Florin daniel.florin Data 26 februarie 2011 15:29:45
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
const int MAXN = 7000005;

const char iname[] = "ssm.in";
const char oname[] = "ssm.out";

#define FOR(i, a, b)  for (int i = (a); i <= (b); ++ i)
#define Max(a, b)  ((a) > (b) ? (a) : (b))

int main() 
{
    ifstream in(iname);
    int bun=-int(2e9),suma=0,n,S,inc,sf,poz;
    in >> n;
    FOR (i, 1, n) 
	{
        in >> S;
        if(suma<0)
            suma=S, poz=i;
        else
            suma+=S;
        if(bun<suma)
            bun=suma,inc=poz,sf=i;
    }
    ofstream out(oname);
    out << bun << " " << inc << " " << sf;
	in.close(), out.close();
    return 0;
}