Pagini recente » Cod sursa (job #1767632) | Cod sursa (job #1623627) | Cod sursa (job #863369) | Cod sursa (job #91906) | Cod sursa (job #2624633)
#include <fstream>
using namespace std;
ifstream fin( "deque.in" );
ofstream fout( "deque.out" );
struct nod
{ long long val;
int poz;
};
nod st[5000005];
long long n, k, x, top, pr, sum;
int main()
{
int i;
fin >> n >> k;
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;
}