Pagini recente » Cod sursa (job #898384) | Cod sursa (job #2032122) | Cod sursa (job #2172713) | Cod sursa (job #169504) | Cod sursa (job #1168307)
#include <cstdlib>
#include <fstream>
#include <deque>
using namespace std;
int main()
{
int N, K;
deque< pair<int, int> > Q;
long long sum;
fstream f, g;
int x;
f.open("deque.in", ios::in);
g.open("deque.out", ios::out);
f >> N >> K;
sum = 0;
for (int i = 0; i < N; i++)
{
f >> x;
while ( (!Q.empty()) && (Q.back().first > x) ) Q.pop_back();
Q.push_back(make_pair(x, i));
if (i >= K - 1)
{
sum += Q.front().first;
if (Q.front().second == i - K + 1) Q.pop_front();
}
}
g << sum;
f.close();
g.close();
return 0;
}