Pagini recente » template/preoni-2006 | Cod sursa (job #907879) | Cod sursa (job #1617081) | Cod sursa (job #557044) | Cod sursa (job #2887949)
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main() {
ifstream fileIn("deque.in");
ofstream fileOut("deque.out");
int n, k, i, first = 0, last =-1;
long long suma=0;
long int a;
vector <long int> vectr;
vector <long int> dQ(5000001,0);
fileIn >> n >> k;
for(i=0; i < n; i++) {
fileIn >> a;
vectr.push_back(a);
while(first <= last && a <= vectr[dQ[last]]) {
last --;
}
last ++;
dQ[last] = i;
if (dQ[first] == i-k) {
first ++;
}
suma += (i >= k-1) ? vectr[dQ[first]] : 0;
}
fileOut << suma;
return 0;
}