Pagini recente » Cod sursa (job #2108797) | Cod sursa (job #1550612) | Cod sursa (job #2829224) | Cod sursa (job #2815448) | Cod sursa (job #385219)
Cod sursa(job #385219)
/*
* 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()
{long long 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;
}