Pagini recente » Cod sursa (job #524127) | Cod sursa (job #610686) | Cod sursa (job #834938) | Cod sursa (job #2114942) | Cod sursa (job #2949611)
#include <fstream>
using namespace std;
ifstream cin ("deque.in");
ofstream cout ("deque.out");
int v[5000001], poz[5000001];
int main()
{
int n, i, k, j, s=0, dr=0, st=1;
cin>>n>>k;
for(i=1;i<=n;i++)
cin>>v[i];
v[0]=-2000000000;
for(i=1;i<=n;i++)
{
if(i<k)
{
while(v[i]<v[poz[i]] && st<=dr)
dr--;
dr++;
poz[dr]=i;
}
else
{
if(st<=dr && poz[st]<i-k+1)
st++;
while(v[i]<v[poz[dr]] && st<=dr)
dr--;
dr++;
poz[dr]=i;
s=s+v[poz[st]];
}
}
cout<<s;
return 0;
}