Pagini recente » Cod sursa (job #878743) | Profil Tatomir Alex - atatomir | Cod sursa (job #435611) | Cod sursa (job #3356953) | Cod sursa (job #3350768)
// Monotonic deque implementation, O(n) time complexity
#include <fstream>
#include <deque>
using namespace std;
int main(){
ifstream fin("deque.in");
ofstream fout("deque.out");
unsigned int n, k, i, j;
fin>>n>>k;
long long val, sum = 0, min = INT64_MAX, a[n];
deque<long long> deq;
for(i = 0; i < n; i++)
fin>>a[i];
for(i = 0; i <= n; i++){
while(!deq.empty() && a[i] <= a[deq.back()])
deq.pop_back();
if(!deq.empty() && i-k-1 == deq.front())
deq.pop_front();
if(i >= k)
sum += a[deq.front()];
deq.push_back(i);
}
fout<<sum;
return 0;
}