Cod sursa(job #2496929)

Utilizator Botzki17Botocan Cristian-Alexandru Botzki17 Data 21 noiembrie 2019 20:55:48
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include <queue>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
const int NMAX = 5000000;
deque <int> dq;
int v[NMAX+5];
int main()
{
    long long s =0;
    int i=2, n, k ,x;
    fin>>n>>k;
    for(i=1;i<=n;i++)
        fin>>v[i];
    for(i=1;i<=n;i++)
    {
        while(!dq.empty() && v[dq.back()] > v[i])
            dq.pop_back();
       dq.push_back(i);
       if(dq.front() == i - k)
          dq.pop_front();
       if(i >= k)
          s= s + v[dq.front()];
    }
    fout<<s<<"\n";
    return 0;
}