Pagini recente » Cod sursa (job #500112) | Cod sursa (job #1660540) | Cod sursa (job #1396546) | Cod sursa (job #339755) | Cod sursa (job #1229838)
#include <fstream>
#define maxn 5000010
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n,i,k;
int a[maxn], d[maxn];
int front, back;
long long Sum;
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++)
fin>>a[i];
front=1;back=0;
for (i = 1; i <= n; i++)
{
while (front <= back && a[i] <= a[d[back]])
back--;
d[++back] = i;
if (d[front] == i-k)
front++;
if (i >= k) Sum += a[ d[front]];
}
fout<<Sum;
return 0;
}