Pagini recente » Cod sursa (job #2470635) | Cod sursa (job #1648977) | Cod sursa (job #3260231) | Cod sursa (job #2953572) | Cod sursa (job #1356456)
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;
#define INF 0x3f3f3f3f
#define MaxN 5000010
ifstream is("deque.in");
ofstream os("deque.out");
deque<int> Q;
int sumf, a[MaxN];
int n, k;
int x;
int cnt = 0;
int main()
{
is >> n >> k;
int pos = 1;
for(int i = 1; i <= n; ++i)
{
is >> a[i];
if(i > k) pos++;
if(i > k && Q.front() < pos)
{
Q.pop_front();
}
while(!Q.empty() && a[Q.back()] > a[i])
Q.pop_back();
Q.push_back(i);
if(i >= k)
{
sumf += a[Q.front()];
}
}
os << sumf;
is.close();
os.close();
return 0;
}