Pagini recente » Cod sursa (job #1841882) | Cod sursa (job #2375039) | Cod sursa (job #2779326) | Cod sursa (job #1067185) | Cod sursa (job #2405878)
#include <iostream>
#include <fstream>
#define NMAX 5000001
int nums[NMAX];
int indexs[NMAX];
using namespace std;
int main(){
ifstream be("deque.in");
ofstream ki("deque.out");
long long res = 0;
int n, k;
be >> n >> k;
int left = 1;
int right = 0;
for(int i = 1; i <= n; i++){
be >> nums[i];
while(left <= right && nums[i] <= nums[indexs[right]])
right--;
right++;
indexs[right] = i;
if(indexs[left] == i - k)
left++;
if(i >= k)
res += nums[indexs[left]];
}
ki << res;
}