Cod sursa(job #2453680)

Utilizator Savu_Stefan_CatalinSavu Stefan Catalin Savu_Stefan_Catalin Data 5 septembrie 2019 10:35:43
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>
#include <queue>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
deque <long long> D;
long long n,k,i,a[5000001],s;
int main()
{
in>>n>>k;
for (i=1;i<=n;++i)
{
    in>>a[i];
}
D.push_back(1);
for (i=2;i<=n;++i)
{
    while (!D.empty()&&a[i]<a[D.back()])
        D.pop_back();
    D.push_back(i);
    if (i-D.front()>=k) D.pop_front();
    if (i>=k) s+=a[D.front()];
}
out<<s;
    return 0;
}