Pagini recente » Cod sursa (job #1666021) | Cod sursa (job #1823799) | Cod sursa (job #2024789) | Cod sursa (job #2419009) | Cod sursa (job #2054034)
#include <iostream>
#include <fstream>
using namespace std;
int v[10000005],d[10000005];
int main()
{
ifstream in("deque.in");
ofstream out("deque.out");
int n,k,st=0,dr=-1;
in>>n>>k;
long long suma=0;
for (int i=0;i<n;i++)
{
in>>v[i];
if ((st<=dr)&&(d[st]==i-k))
{
st++;
}
while ((st<=dr)&&(v[i]<=v[d[dr]]))
{
dr--;
}
d[++dr]=i;
if (i>=k-1)
{
suma+=v[d[st]];
}
}
out<<suma;
in.close();
out.close();
return 0;
}