Cod sursa(job #3128122)

Utilizator larisa-ioana.virtejanuLarisa Ioana Virtejanu larisa-ioana.virtejanu Data 8 mai 2023 18:42:16
Problema Deque Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <deque>
#include <fstream>
using namespace std;
int v[5000001];
long long sum;
deque<int> dq;

ifstream in("deque.in");
ofstream out("deque.out");

int main() {
    int n, k, i;
    
    int Front=1, Back=0;

    in >> n >> k;

    for (i = 1; i <= n; i++) 
        in >> v[i];
        
    for (i = 1; i <= n; i++)
	{
		while (Front <= Back && v[i] <= v[ dq[Back] ]) 
		Back--;	
		
		dq[++Back] = i;

		if (dq[Front] == i-k) 
		Front++;

		if (i >= k) 
		sum += v[ dq[Front]]; 	
	}
        
        
    out << sum << endl;
    
    in.close();
    out.close();

    return 0;
}