Pagini recente » Cod sursa (job #1778616) | Cod sursa (job #1315581) | Cod sursa (job #2284851) | Cod sursa (job #408722) | Cod sursa (job #984184)
Cod sursa(job #984184)
#include <fstream>
#include <deque>
struct Pair
{
int ind, key;
};
int main()
{
std::ifstream in("deque.in");
std::ofstream out("deque.out");
std::deque<Pair> myDeq;
int nV, k;
Pair x;
in >> nV >> k;
long long sum = 0;
for(int i = 1; i <= nV; i++)
{
in >> x.key;
x.ind = i;
while(!myDeq.empty() && myDeq.front().ind <= i - k)
myDeq.pop_front();
while(!myDeq.empty() && myDeq.back().key >= x.key)
myDeq.pop_back();
myDeq.push_back(x);
if(i >= k)
sum += myDeq.front().key;
}
out << sum;
return 0;
}