Pagini recente » Cod sursa (job #2842433) | Cod sursa (job #2499403) | Cod sursa (job #3177773) | Cod sursa (job #37567) | Cod sursa (job #2946075)
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n,k,inc=1,sf=0,sum=0,x,v[500005],c[500005];
int main()
{
fin>>n>>k;
v[0]=10000001;
for(int i=1;i<=n;i++)
fin>>v[i];
for(int i=1;i<=n;i++)
{
if(i<k)
{
while(v[i]<v[c[sf]]&&inc<=sf)
sf--;
sf++;
c[sf]=i;
}
else
{
while(c[inc]<(i-k+1)&&inc<=sf)
inc++;
while(v[i]<v[c[sf]]&&inc<=sf)
sf--;
sf++;
c[sf]=i;
sum+=v[c[inc]];
}
}
fout<<sum;
return 0;
}