Cod sursa(job #3361173)

Utilizator gabriel47291Vaduva Gabriel - Teodor gabriel47291 Data 21 iulie 2026 14:29:18
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <deque>
#define DIM 5000001

using namespace std;
ifstream fin  ("deque.in");
ofstream fout ("deque.out");
int v[DIM];
deque<int> d;
int n, p, u, i, k;
long long suma = 0;

int main ()
{
    fin>>n>>k;
    for (i=1;i<=n;i++)
    {
        fin>>v[i];
    }
    d.push_back(1);
    if (k == 1)
    {
        suma = v[1];
    }
    for (i=2;i<=n;i++)
    {
        while (!d.empty() && v[i] <= v[ d.back() ])
        {
            d.pop_back();
        }
        d.push_back(i);
        if (i - d.front() == k)
        {
            d.pop_front();
        }
        if (i >= k)
        {
            suma += v[ d.front() ];
        }
    }
    fout<<suma;
    return 0;
}