Cod sursa(job #2781587)

Utilizator Mendea_IanisMendea Ianis Teodor Mendea_Ianis Data 9 octombrie 2021 20:51:49
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.07 kb
#include <iostream>
#include <queue>
#include <fstream>

using namespace std;

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

deque<int> Q;

int main()
{
    int n,k,a,ok;
    long long suma = 0;
    fin>>n>>k;
    ok = k;
    for(int i = 0;i<=n;i++)
    {
        fin>>a;
        if(Q.empty())
        {
            Q.push_back(a);
        }
        else{
            if(Q.front()>a)
            {
                Q.pop_front();
                Q.push_front(a);
            }
            else{
                if(Q.front()<a && Q.back()<a)
                {
                    Q.push_back(a);
                }
                else{
                    if(Q.front()<a && Q.back()>a)
                    {
                        Q.pop_back();
                        Q.push_back(a);
                    }
                }
            }
        }
        ok--;
        if(ok == 0)
        {
            suma += Q.front();
            Q.pop_front();
            ok = k-1;
        }
    }
    suma += Q.front();
    fout<<suma<<' ';
}