Pagini recente » Cod sursa (job #3267137) | Cod sursa (job #295001) | Cod sursa (job #1997880) | Cod sursa (job #2747508) | Cod sursa (job #2041221)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
struct nod
{ long long val;
long long 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;
}