Cod sursa(job #3128123)

Utilizator larisa-ioana.virtejanuLarisa Ioana Virtejanu larisa-ioana.virtejanu Data 8 mai 2023 18:47:07
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <deque>
#include <fstream>
using namespace std;
int v[5000001], dq[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;
}