Pagini recente » Borderou de evaluare (job #1169114) | Cod sursa (job #2305716) | Arhiva de probleme | Monitorul de evaluare | Cod sursa (job #1168818)
#include <fstream>
#include <vector>
#include <deque>
std::ifstream f("deque.in");
std::ofstream g("deque.out");
std::deque<int> x;
std::vector<int> v;
int i, n, k, s, temp;
int main()
{
f >> n >> k;
v.push_back(0);
for (i=1; i<=n; i++) {
f >> temp;
v.push_back(temp);
while (!x.empty() && temp <= v[x.back()]) x.pop_back();
x.push_back(i);
if (i-x.front() >= k) x.pop_front();
if (i >= k) s += v[x.front()];
}
g << s;
}