Cod sursa(job #698240)

Utilizator bacilaBacila Emilian bacila Data 29 februarie 2012 13:02:11
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <deque>
#include <fstream>
using namespace std;
deque<long long> q;
deque<int> w;
long long n,k,x,i,s;
int main ()
{ifstream f("deque.in");
 ofstream g("deque.out");
f>>n>>k;


for(i=1;i<k;i++)
{f>>x;

while((!q.empty())&&x<q.front())
{q.pop_front();
w.pop_front();
}
q.push_front(x);
w.push_front(i);
}


for(i=k;i<=n;i++)
{f>>x;
while((!q.empty())&&x<q.front())
{q.pop_front();
w.pop_front();
}
q.push_front(x);
w.push_front(i);
if(w.back()+k-1<i)
{q.pop_back();
w.pop_back();}
s+=q.back();
}
g<<s;
 f.close(); g.close();
return 0;
}