Cod sursa(job #2562952)

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

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

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