Cod sursa(job #1494178)

Utilizator icepinPredi Dragos icepin Data 30 septembrie 2015 19:45:01
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>

using namespace std;
ifstream fin("deque.in");
ofstream fout ("deque.out");
long long n,k,st,dr,i,s;
int v[5000001],dq[5000001];
int main()
{
   fin>>n>>k;
   for(i=1;i<=n;i++)
   {
       fin>>v[i];
   }
   st=0;
   dr=0;
   for(i=1;i<=n;i++)
   {
       while(dr>=st&&v[i]<v[dq[dr]])
        dr--;
       dq[++dr]=i;
       while(dq[st]==i-k)
        st++;
       if(i>=k)
        s+=v[dq[st]];
   }
   fout<<s;
    return 0;
}