Cod sursa(job #2457197)

Utilizator Narcys01Ciovnicu Narcis Narcys01 Data 16 septembrie 2019 21:21:18
Problema Secventa 2 Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <iostream>

using namespace std;

int t[50004];
int n, k;

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

    int i, x;
    int s, smax, p1, p2, poz;

    fin >> n >> k;
    for (i = 1; i <= k; i++)
    {
        fin >> x;
        t[i] = t[i-1] + x;
    }
    s = smax = t[k];
    p1 = 1;
    p2 = k;
    poz = k;
    for (i = k+1; i <= n; i++)
    {
        fin >> x;
        t[i] = t[i-1] + x;
        if (s < 0)
        {
            poz = i-k+1;
            s = t[i] - t[i-k];
            //cout << s << " *\n";
        }
        else
            s += x;
        //cout << s << " +\n";
        if (s > smax)
        {
            smax = s;
            p1 = poz;
            p2 = i;
        }
    }
    fout << p1 << " " << p2 << " " << smax << "\n";
    return 0;
}