Pagini recente » Cod sursa (job #913024) | Cod sursa (job #940273) | Cod sursa (job #2893905) | Cod sursa (job #2923587) | Cod sursa (job #2462650)
#include <bits/stdc++.h>
#define val first
#define poz second
#define ll long long
#define pii pair<int,int>
#define pb push_back
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k;
ll sum;
deque <pii> dq;
void Read();
void Solve();
int main()
{ Read();
Solve();
f.close();
g.close();
}
void Read()
{ f>>n>>k;
for(int nr,i=1; i<=k; i++)
{ f>>nr;
if(!dq.empty())
{ while(nr<dq.back().val)
{ dq.pop_back();
if(dq.empty())
break;
}
}
dq.pb({nr,i});
}
sum=dq.front().val;
}
void Solve()
{ for(int nr,i=4; i<=n; i++)
{ if(dq.front().poz<i-k+1)
dq.pop_front();
f>>nr;
if(!dq.empty())
{ while(nr<dq.back().val)
{ dq.pop_back();
if(dq.empty())
break;
}
}
dq.pb({nr,i});
sum=1LL*(sum+dq.front().val);
}
g<<sum;
}