Pagini recente » Cod sursa (job #580718) | Cod sursa (job #462001) | Cod sursa (job #712474) | Cod sursa (job #2646629) | Cod sursa (job #657919)
Cod sursa(job #657919)
/*
* File: deque.in
* Author: slycer
*
* Created on January 7, 2012, 4:17 PM
*/
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <vector>
#include <list>
using namespace std;
/*
*
*/
int main(int argc, char** argv) {
ifstream input("deque.in");
ofstream output("deque.out");
int n,k;
input >> n >> k;
list<int> q;
long long sol=0;
int * data = new int[n];
for ( int i=0; i<n; i++ ){
input >> data[i];
if ( i-k>=0 ){
if ( q.front() == data[i-k] ){
q.pop_front();
}
}
while ( q.size()>0 && q.back() > data[i] ){
q.pop_back();
}
q.push_back( data[i] );
if( i>=k-1 ) {
// cout << q.front() << "\n";
sol += q.front();
}
}
output << sol;
return 0;
}