Cod sursa(job #385217)

Utilizator alexandru92alexandru alexandru92 Data 22 ianuarie 2010 12:44:26
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
/* 
 * File:   main.cpp
 * Author: virtualdemon
 *
 * Created on January 22, 2010, 12:21 PM
 */
#include <deque>
#include <vector>
#include <fstream>
#include <iterator>

/*
 *
 */
using namespace std;
deque<int> d;
vector<int> v;
int main()
{int s=0;
 unsigned int n, i, j, k;
    ifstream in("deque.in");
    in>>n>>k;
    copy( istream_iterator<int>(in), istream_iterator<int>(), back_inserter(v) );
    for( i=0; i < n; ++i )
    {
        while( !d.empty() && v[i] <= v[d.back()] )
            d.pop_back();
        d.push_back(i);
        if( i >= k-1 )
            s+=v[ d.front() ];
        if( d.front() == i-k+1 )
            d.pop_front();        
    }
    ofstream out("deque.out");
    out<<s;
}