Pagini recente » Cod sursa (job #1941697) | Cod sursa (job #1475719) | Cod sursa (job #520413) | Cod sursa (job #2139155) | Cod sursa (job #2610633)
#include <fstream>
using namespace std;
ifstream in ("deque.in");
ofstream out ("deque.out");
const int N=5000001;
int dq[N], minn[N];
int main()
{
int n, k, st, dr, i;
long long sum=0;
in>>n>>k;
for(i=1; i<=n; i++)
in>>dq[i];
st=0;
dr=-1;
for(i=1; i<=n; i++)
{
if (st<=dr && minn[st]==i-k)
st++;
while (st<=dr && dq[i]<=dq[minn[dr]])
dr--;
dr++;
minn[dr]=i;
if (i>=k)
sum+=dq[minn[st]];
}
out<<sum<<'\n';
return 0;
}