Pagini recente » Cod sursa (job #757007) | Cod sursa (job #2922306) | Cod sursa (job #1061372) | Cod sursa (job #1823879) | Cod sursa (job #657922)
Cod sursa(job #657922)
/*
* 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;
int * q = new int[ n+1 ];
int a=0,b=0;
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[a] == data[i-k] ){
//q.pop_front();
a++;
}
}
while ( b-a>0 && q[b-1] > data[i] ){
b--;
}
q[b++] = data[i];
if( i>=k-1 ) {
// cout << q.front() << "\n";
sol += q[a];
}
}
output << sol;
return 0;
}