Cod sursa(job #2602895)

Utilizator Darius_CDarius Chitu Darius_C Data 18 aprilie 2020 01:18:57
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
using namespace std;

#define inf 1e15

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

typedef long long ll;

#define nmax 50005

 int n,k=0;
    ll v[nmax], sum[nmax];

void citire()
{
    f >> n >> k;
    for (int i=1; i<=n; i++)
        f >> v[i];

    for (int i=1; i<=n; i++)
        sum[i] = sum[i-1] + v[i];
}

void rezolvare()
{
 int p=0,u=0, index=0;
    ll minim=inf, maxim=-inf;

    for (int i=k; i<=n; i++)
    {
        if (sum[i-k]<minim)
        {
            minim = sum[i-k];
            index = i-k+1;
        }

        if(sum[i]-minim > maxim)
        {
            maxim = sum[i] - minim;
            p = index;
            u = i;
        }
    }

    g << p << " " << u << " " <<maxim;
}

int main()
{
    citire();
    rezolvare();

    return 0;
}