Pagini recente » Cod sursa (job #3156480) | Cod sursa (job #403198) | Cod sursa (job #137088) | Cod sursa (job #2249309) | Cod sursa (job #1311834)
#include <iostream>
#include <deque>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
deque<int> DQ,P;
void add(int x, int poz)
{
while(!DQ.empty() && x<DQ.back())
{
DQ.pop_back();
P.pop_back();
}
DQ.push_back(x);
P.push_back(poz);
}
long long n,k,sum,x;
int main()
{
f>>n>>k;
for(int i=1; i<=k; i++)
{
f>>x;
add(x,i);
}
//cerr << DQ.front() << " ";
sum+=DQ.front();
for(int i=k+1; i<=n; i++)
{
f>>x;
if (P.front()<=i-k)
{
DQ.pop_front();
P.pop_front();
}
add(x,i);
sum+=DQ.front();
}
g<<sum;
return 0;
}