Cod sursa(job #1176328)

Utilizator x3medima17Dima Savva x3medima17 Data 25 aprilie 2014 22:37:57
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

struct node
{
    int val,k;
};


int main()
{
    int maxx = 0;
    int maxi = 0;
    int maxk = 0;
    vector<int> V;
    int n;
    fin>>n;
    //cout<<n;
    node L1,L2;
    for(int i=0;i<n;i++)
    {
        int k;
        fin>>k;
        if(i==0)
        {
            L1.val = k;
            L1.k = 1;
            continue;
        }
        L2.val = max(L1.val+k,k);
        if(0 <= L1.val )
            L2.k = L1.k+1;
        else
            L2.k = 1;

        if(L2.val > maxx)
        {
            maxx = L2.val;
            maxi = i;
            maxk = i - L2.k+2;
        }
        L1 = L2;
    }

    fout<<maxx<<" "<<maxk<<" "<<maxi+1;
}