Pagini recente » Cod sursa (job #2290820) | Cod sursa (job #296321) | Cod sursa (job #1767894) | Cod sursa (job #2987140) | Cod sursa (job #2503239)
#include <iostream>
#include<fstream>
#define N 5000005
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int st,dr;
int a[N],n,k;
struct stiva
{
int val,poz;
}s[N];
/*3
-1 -2 3 3 0 -1 4
-2 0
2 5
-2 */
void solve()
{
int i,sum=0;
for(i=1;i<=n;++i)
{
while(a[i]<s[dr].val&&dr>=st)
dr--;
s[++dr].val=a[i];
s[dr].poz=i;
if(s[dr].poz-s[st].poz==k)
st++;
if(i>=k)sum+=s[st].val;
}
fout<<sum;
}
int main()
{
int i;
fin>>n>>k;
for(i=1;i<=n;++i)
fin>>a[i];
solve();
return 0;
}