Cod sursa(job #2057299)

Utilizator Evrika12Mihnea Rontescu Evrika12 Data 4 noiembrie 2017 15:11:18
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>
using namespace std;
int d[5000001],v[5000001];
int main()
{
    ifstream cin ("deque.in");
    ofstream cout ("deque.out");
    int dr=-1,st=0,n,k,i;
    long long sum=0;
    cin>>n>>k;
    for(i=0;i<n;i++)
    {
        cin>>v[i];

    if(st<=dr && d[st]==i-k)
    {
        st++;
    }
    while(st<=dr && v[i]<=v[d[dr]])
    {
        dr--;
    }
    d[++dr]=i;
    if(i>=k-1)
    {
        sum+=v[d[st]];
    }
    }
    cout<<sum;
    return 0;
}