Cod sursa(job #1479802)

Utilizator CalinCojoFMI Cojocaru Calin George CalinCojo Data 1 septembrie 2015 12:44:38
Problema Subsecventa de suma maxima Scor 55
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

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

vector<int> v;

void foo()
{
    int sum[v.size()],lIndex,rIndex;
    int sumMin = (sum[0]>0) ? 0:sum[0];
    int sumMax = 0;
    sum[0]=v[0];

    for(int i = 1 ; i < v.size() ; i++)
    {
        sum[i] = v[i] + sum[i-1]; // suma sirului Ai

        if(sumMax < sum[i] - sumMin)
        {
            sumMax = sum[i] - sumMin;
            rIndex = i+1; //sirul e indentat de la 0
        }

        if(sumMin > sum[i])
        {
            sumMin = sum[i];
            lIndex = i+2;//sirul e indentat de la 0
        }
    }
    g<<sumMax<<" "<<lIndex<<" "<<rIndex;
}


int main()
{
    int n,x;
    f>>n;
    while(n--)
    {
        f>>x;
        v.push_back(x);
    }
    foo();

    return 0;
}