Cod sursa(job #1751530)

Utilizator Kln1000Ciobanu Bogdan Kln1000 Data 1 septembrie 2016 15:29:15
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

int main()
{int n, x, max,pos=0,sf;
    f >> n;
    vector <int> v(n);
    f >> v[0];
    max = v[0];
    for (int i = 1; i < n; ++i)
    {
        f >> x;
        if (v[i-1]+x > x)
            v[i] = v[i - 1] + x;
        else
            v[i] = x;
        if (v[i] > max)
        {
            max = v[i];
            pos = i;
        }
    }
    sf = pos;
    while (v[pos-1] >= 0)
    {
        --pos;
    }
    t << max<<" "<<pos+1<<" "<<sf+1;
    return 0;
}