Cod sursa(job #2562918)

Utilizator Dragono63Stanciu Rares Stefan Dragono63 Data 29 februarie 2020 20:07:09
Problema Deque Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.09 kb
#include <bits/stdc++.h>

using namespace std;
/**********************************************/
deque <pair <int,int> >dq;
int n,k;
int sum;
/**********************************************/
ifstream f("deque.in");
ofstream g("deque.out");
/**********************************************/
///--------------------------------------------------------
inline void readInput()
{
    f>>n>>k;
}
///--------------------------------------------------------

///--------------------------------------------------------
inline void Solution()
{
    for(int i=1;i<=n;i++)
    {
        int nr;
        f>>nr;

        if(i>1)
        {
            if(dq.front().second<=i-k) dq.pop_front();
        }
    dq.push_back({nr,i});
    while(dq.front().first>dq.back().first && !dq.empty()) dq.pop_front();
    if(i>=k) sum+=dq.front().first;
    }
}
///--------------------------------------------------------
inline void Afisare()
{
    g<<sum;
}
///--------------------------------------------------------
int main()
{
    readInput();
    Solution();
    Afisare();
    return 0;
}