Cod sursa(job #1619747)

Utilizator danyvsDan Castan danyvs Data 28 februarie 2016 18:54:29
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#define NMax 6000001

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int a[NMax], n;
int sum;

int main()
{
    int i, l, r, aux, s;
    fin >> n;
    for (i = 1; i <= n; ++ i)
        fin >> a[i];
    s = 0;
    sum = -int(2e9);
    aux = 1;
    for (i = 1; i <= n; ++ i)
        {
         if (s < 0)
            {
             s = a[i];
             aux = i;
            }
         else
            s += a[i];
         if (sum < s)
            {
             sum = s;
             l = aux;
             r = i;
            }
        }
    fout << sum << " " << l << " " << r << "\n";
    fin.close();
    fout.close();
    return 0;
}