Cod sursa(job #1972790)

Utilizator AndreiD31Dragan Andrei AndreiD31 Data 23 aprilie 2017 18:42:01
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#include <deque>
#include <climits>
using namespace std;


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


deque<int>c;
long long n,i,K,s,v[5000001],minim=INT_MAX;
int main()
{
   f>>n>>K;
   for(i=1;i<=n;i++)
   f>>v[i];

   c.push_back(1);
   for(i=2;i<=n;i++)
   {

while(c.front()<=i-K&&!c.empty()){c.pop_front();}

       while(!c.empty()&&v[c.back()]>=v[i])c.pop_back();
       c.push_back(i);

if(i>=K){s+=v[c.front()];

}

   }
   g<<s;
    return 0;
}