Cod sursa(job #1958126)

Utilizator diib1023Cursi FTW diib1023 Data 8 aprilie 2017 01:18:03
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream in("secv2.in");
    ofstream out("secv2.out");

    int n,k,i; in >> n >> k;

    struct Data { int number; int sum; int length = 1; };

    Data v[n+1];

    in >> v[1].number; v[1].sum = v[1].number;

    for (i=2;i<=n;i++)
    {
        in >> v[i].number;

        if (v[i-1].sum + v[i].number > v[i].number)
        {
            v[i].sum = v[i-1].sum + v[i].number;
            v[i].length = v[i-1].length + 1;
        }
        else
        {
            v[i].sum = v[i].number;
            v[i].length = 1;

        }
    }

    int maximumSum = (-25001)*(25001), maximumSum_i;

    for (i=1;i<=n;i++)
    {
        if( v[i].sum > maximumSum)
        {
            maximumSum = v[i].sum;
            maximumSum_i = i;
        }
    }

    out << maximumSum_i - v[maximumSum_i].length + 1 << " " << maximumSum_i << " " << maximumSum;

    return 0;
}