Pagini recente » Cod sursa (job #13876) | Cod sursa (job #773133) | Cod sursa (job #1506547) | Cod sursa (job #1743076) | Cod sursa (job #2106594)
#include <iostream>
#include <bits/stdc++.h>
#include <fstream>
#include <climits>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
struct elem
{
int n, pos;
elem(int nr, int position)
:n(nr), pos(position){}
};
deque<elem> d;
int main()
{
int N, K, i, x, res=0;
f>>N>>K;
for(i=0;i<N;i++)
{
f>>x;
while(d.size()&&d.front().pos<i-K+1)d.pop_front();
while(d.size()&&d.back().n>x)d.pop_back();
d.push_back(elem(x, i));
if(i>=K-1)res+=d.front().n;
}
g<<res;
f.close();
g.close();
return 0;
}
/**f>>a>>b;
i=min(a, b);
while(f>>c)
{
i=min(i, c);
res+=i;
a=b;
b=c;
i=min(a, b);
}
g<<res;*/