Pagini recente » Cod sursa (job #762244) | Cod sursa (job #30692) | Cod sursa (job #1801865) | Cod sursa (job #2977973) | Cod sursa (job #1311602)
#include <iostream>
#include <deque>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
struct nr
{
long long val,i;
}aux,x;
deque<nr> DQ;
void add(nr x)
{
while(!DQ.empty() && x.val<DQ.back().val)
{
DQ.pop_back();
}
DQ.push_back(x);
}
long long n,k,sum;
int main()
{
f>>n>>k;
for(int i=1; i<=k; i++)
{
f>>x.val;
add(x);
}
//cerr << DQ.front() << " ";
sum+=DQ.front().val;
for(int i=k+1; i<=n; i++)
{
f>>x.val;
if (DQ.front().i<=i-k)
{
DQ.pop_front();
}
add(x);
sum+=DQ.front().val;
}
g<<sum;
return 0;
}