Cod sursa(job #1883283)

Utilizator vladcoroian2001Vlad Coroian vladcoroian2001 Data 17 februarie 2017 20:54:12
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <deque>

using namespace std;
ifstream fi("deque.in");
ofstream fo("deque.out");
long long n,k,i,A[5000001],sum;
deque <int> D;
int main()
{
    fi>>n>>k;
    for(i=1;i<=n;i++)
    {
        fi>>A[i];
        while(!D.empty() and A[i]<D.back())
            D.pop_back();
        D.push_back(A[i]);
        if(i>=k and D.front()==A[i-k])
            D.pop_front();
        if(i>=k)
            sum+=D.front();
    }
    fo<<sum;
    fi.close();
    fo.close();
    return 0;
}