Pagini recente » Cod sursa (job #1836407) | Cod sursa (job #2638387) | Cod sursa (job #2438133) | Cod sursa (job #2890304) | Cod sursa (job #1311585)
#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);
}
int 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;
}