Cod sursa(job #2731967)

Utilizator Ion_ApeliaIon Apelia-Cosmina Ion_Apelia Data 28 martie 2021 16:21:12
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
# include<iostream>
#include<fstream>
#include <stdio.h>
using namespace std;
#define maxn 5000010
int i, n, k, deque[maxn], v[maxn], front, rear;
long long suma;
int main ()
{
    ifstream I ("deque.in");
    ofstream O ("deque.out");

    I>>n>>k;

    front=0;
    rear=-1;

    
    for(int i=0;i<n;i++)
    {
        I>>v[i];

        while(front<=rear && v[i]<=v[deque[rear]])
           { 
               rear--;
            }
        rear++;
        deque[rear]=i;

        if(deque[front] == i-k)
            {
                front++;
            }

        if(i>=k-1)
            {
                suma+=v[deque[front]];
                cout<<suma<<' ';
            }
   } 

    O<<suma;

    //I.close();
    O.close();
    return 0;
}