Pagini recente » Cod sursa (job #2167081) | Cod sursa (job #759672) | Cod sursa (job #2770996) | Cod sursa (job #2232742) | Cod sursa (job #3240996)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
struct elem
{
int v, p;
};
deque<elem> d;
int n, k, x;
long long sol;
int main()
{
fin >> n >> k;
for(int i = 1; i < k; ++i)
{
fin >> x;
while(!d.empty() && x < d.back().v)
d.pop_back();
d.push_back({x, i});
}
for(int i = k; i <= n; ++i)
{
fin >> x;
while(!d.empty() && x < d.back().v)
d.pop_back();
d.push_back({x, i});
if(d.front().p == i - k)
d.pop_front();
sol += d.front().v;
}
fout << sol;
return 0;
}