Pagini recente » Cod sursa (job #2370383) | Cod sursa (job #2333937) | Cod sursa (job #2771747) | Cod sursa (job #1910537) | Cod sursa (job #2946063)
#include <fstream>
#pragma GCC optimiza("Ofast")
using namespace std;
int v[5000001];
struct q
{
int indice;
int val;
};
q coada[5000001];
int main()
{
ifstream fin("deque.in");
ofstream fout("deque.out");
int n,i,l,r,j,k,b;
long long s;
fin >> n >> k;
for (i=1; i<=n; i++)
fin >> v[i];
l=1;
j=0;
coada[0].val=-10000001;
s=0;
for (i=1; i<=n; i++)
{
while (v[i]<=coada[j].val && coada[j].indice>=i-k+1)
{
j--;
}
j++;
coada[j].val=v[i];
coada[j].indice=i;
if (i>=k)
{
if (coada[l].indice<i-k+1)
l++;
s+=coada[l].val;
}
}
fout << s;
return 0;
}