Pagini recente » Cod sursa (job #224176) | Cod sursa (job #3188162) | Cod sursa (job #2370896) | Cod sursa (job #2542909) | Cod sursa (job #2624639)
#include <fstream>
using namespace std;
ifstream fin( "deque.in" );
ofstream fout( "deque.out" );
struct nod
{ int val;
int poz;
};
nod st[5000001];
int n, k, x, top, pr;
long long 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;
}