Pagini recente » Cod sursa (job #3177162) | Cod sursa (job #2333291) | Cod sursa (job #3269388) | Cod sursa (job #41297) | Cod sursa (job #2041223)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
struct nod
{ long long val;
int poz;
};
nod st[5000001];
long long n,k,x,top,pr,sum;
int main()
{ fin>>n>>k;
int i;
fin>>x;
pr=1;
top=1;
st[1].val=x;
st[1].poz=1;
for(i=2;i<=n;i++)
{fin>>x;
if(i-st[pr].poz+1>k) pr++;
while(x<st[top].val&&top>=pr) top--;
top++;
st[top].val=x;
st[top].poz=i;
if(i>=k) sum+=st[pr].val;
}
fout<<sum;
return 0;
}