Cod sursa(job #1566968)

Utilizator SternulStern Cristian Sternul Data 12 ianuarie 2016 20:33:28
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;

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

#define MAX(a,b) ((a > b) ? a : b)
int s[7000005],n;
int main()
{
    int i;
    f>>n;
    for(i = 1;i <= n; ++ i )
        f>>s[i];
    int bestSum = -7000000, sum = 0, beg, end, idx;
    for(i = 1;i <=n; ++ i)
    {
        if(sum < 0)
        {
            sum = s[i];
            idx = i;
        }
        else sum += s[i];
        if(bestSum < sum)
        {
            bestSum = sum;
            beg = idx;
            end = i;
        }
    }
    g<<bestSum<<" "<<beg<<" "<<end;
    return 0;
}