Cod sursa(job #3170540)

Utilizator Warrior.exeZgorcea Mihai-Alexandru Warrior.exe Data 17 noiembrie 2023 19:05:42
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include<fstream>
using namespace std;
int sir[5000002] ;
int doustack[5000002];
int main(){
    ifstream cin("deque.in");
    ofstream cout("deque.out");
    int nr,spatiu,fata=1,spate=0;
	long long suma=0;
	cin>>nr>>spatiu;
	for (int i=1;i<=nr;i++){
		cin>>sir[i];
	}
	for (int i=1;i<=nr;i++){
		while (fata<=spate&&sir[i]<sir[doustack[spate]]){
            spate--;
		}
		spate++;
		doustack[spate]=i;
		if (doustack[fata]==i-spatiu){
            fata++;
		}
		if (i>=spatiu){
            suma+=sir[doustack[fata]];
		}
	}
	cout<<suma;
	return 0;
}