Cod sursa(job #686593)

Utilizator Cantor_paulCantor Paul Dan Cantor_paul Data 21 februarie 2012 18:54:10
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#include <deque>
using namespace std;

int n, k;
deque < pair<int, int> > d;
long long s;

int main() 
{
    ifstream fin("deque.in");
    ofstream fout("deque.out");
     fin >> n >> k;
     for(int i = 0; i < n; ++i)
     {
             int v;
             fin >> v;
             while(!d.empty() && d.back().first > v)
             d.pop_back();
             
             d.push_back(make_pair(v, i));
             if (d.front().second + k == i)
             d.pop_front();
             s += i< k - 1 ? 0 : d.front().first;
             }
             fout << s;
             }