Cod sursa(job #3276370)

Utilizator Cristian_NegoitaCristian Negoita Cristian_Negoita Data 13 februarie 2025 14:26:23
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
const int NMAX = 50005;
int a[NMAX], s[NMAX];

signed main()
{
    int n, k;
    fin >> n >> k;
    for(int i = 1; i <= n; i++)
        fin >> a[i], s[i] = s[i-1] + a[i];

    deque<int> dq;
    int st = 1, dr = k, vmax = s[k];
    for(int i = k; i <= n; i++)
    {
        while(!dq.empty() && s[i - k] <= s[dq.back()])
            dq.pop_back();
        dq.push_back(i - k);
        if(vmax < s[i] - s[dq.front()])
        {
            vmax = s[i] - s[dq.front()];
            dr = i;
            st = dq.front() + 1;
        }
    }
    fout << st << " " << dr << " " << vmax;

    return 0;
}