Cod sursa(job #2999582)

Utilizator OneShotStefBurlacenco Bayer Stefan OneShotStef Data 11 martie 2023 10:40:27
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.32 kb
// deque infoarena.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");

int n, a[100], q[100], k;
long long s = 0;
int uq = 0, pq = -1;

void citire()
{
    fin >> n >> k;
    for (int i = 1; i <= n; i++)
    {
        fin >> a[i];
    }
}

int main()
{
    citire();
    for (int i = 1; i <= n; i++)
    {
        while (pq <= uq && a[i] <= a[q[uq]])
        {
            uq--;
        }
        q[++uq] = i;
        if (q[pq] <= i - k)pq++;
        if (i >= k)
            s+=a[q[pq]];
    }
    fout << s;
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file