Pagini recente » Cod sursa (job #895340) | Cod sursa (job #925184) | Cod sursa (job #2613629) | Cod sursa (job #3127868) | Cod sursa (job #1861671)
#include <fstream>
#include <deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int k,n,i,l,s,cst,cdr;
struct elem
{
int pos,val;
}x;
deque <elem> v;
int main()
{
f>>n>>k;
for(i=1;i<=k;i++)
{
f>>x.val;
x.pos=i;
while(!v.empty()&&v.back().val>x.val)
v.pop_back();
v.push_back(x);
}
cst=1;cdr=k;s=v.front().val;
for(i=k+1;i<=n;i++)
{
cst++;
cdr++;
f>>x.val;x.pos=i;
if(v.front().pos<cst)v.pop_front();
while(!v.empty()&&v.back().val>x.val)
v.pop_back();
v.push_back(x);
s+=v.front().val;
}
g<<s;
return 0;
}