Pagini recente » Istoria paginii runda/simulare-cartita-15b/clasament | Cod sursa (job #1681544) | Istoria paginii runda/info20/clasament | Istoria paginii runda/test111/clasament | Cod sursa (job #2002714)
#include <bits/stdc++.h>
#define Nmax 5000010
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int a[Nmax],Deque[Nmax],n,k;
long long sum;
int main()
{
f>>n>>k;
for(int i=1;i<=n;++i)
f>>a[i];
int f=1,b=0;
for(int i=1;i<=n;++i)
{
while(f<=b && a[i]<=a[Deque[b]]) b--;
Deque[++b]=i;
if(Deque[f]==i-k) f++;
if(i>=k) sum+=Deque[f];
}
g<<sum;
return 0;
}