Cod sursa(job #2046899)

Utilizator Mihnea_BranzeuMihnea Branzeu Mihnea_Branzeu Data 24 octombrie 2017 11:02:02
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <fstream>

using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int v[5000001],d[5000001];
int main()
{
    int n,k,st,dr,s=0,i;
    in>>n>>k;
    st=0; dr=-1;
    for(i=0;i<n;i++)
      in>>v[i];
    for(i=0;i<n;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) s+=v[d[st]];

    }
    out<<s;
    return 0;
}