Cod sursa(job #1246472)

Utilizator ArkinyStoica Alex Arkiny Data 21 octombrie 2014 09:38:23
Problema Deque Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<iostream>
#include<deque>
#include<fstream>
using namespace std;

ifstream in("deque.in");
ofstream out("deque.out");

int main()
{
    long N,K,elem,pos=1,jump=0,j=1;
    long long sum=0;
    in>>N>>K;
    deque<long> deq;
    for(int i=1;i<=N-K+1;i++)
    {
      while(j<=K)
      {
        in>>elem;
           while(deq.size() && elem<=deq.back())
           {
               deq.pop_back();
               jump++;
           }
           if(!deq.size())
           {
               pos=pos + jump;
               jump=0;
           }
             deq.push_back(elem);

        j++;
      }

      sum+=deq.front();
      if(pos==i)
      {
          deq.pop_front();
          pos=pos +jump +1;
          jump=0;
      }
      j--;
    }
    out<<sum;
    return 0;
}