Cod sursa(job #1383482)

Utilizator ThomasFMI Suditu Thomas Thomas Data 10 martie 2015 12:06:24
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
using namespace std;

#define Nmax 50005

ifstream f("secv2.in");
ofstream g("secv2.out");

int V[Nmax], S[Nmax];

int main()
{
    int n, k;

    f >> n >> k;

    for (int i = 1; i <= n; i++)
    {
        f >> V[i];
        S[i] = S[i - 1] + V[i];
    }

    int start = 1, mx = -0x3f3f3f3f, sol1, sol2;

    for (int i = k; i <= n; i++)
    {
        if (S[i - k] - S[start - 1] < 0)
            start = i - k + 1;

        int crt = S[i] - S[start - 1];

        if (crt > mx)
        {
            mx = crt;
            sol1 = start;
            sol2 = i;
        }
    }

    g <<  sol1 << " " << sol2 << " " << mx << "\n";
}