Pagini recente » Diferente pentru problema/dir intre reviziile 50 si 51 | Cod sursa (job #1993920) | Cod sursa (job #131428) | Cod sursa (job #446454) | Cod sursa (job #262999)
Cod sursa(job #262999)
#include<fstream.h>
#define max 6000000
ifstream fi("deque.in");
ofstream g("deque.out");
long a[max],i,f,b,k,n,d[max];
long long sum;
int main()
{
fi>>n>>k;
for(i=1;i<=n;i++)
fi>>a[i];
f=1;
b=0;
for(i=1;i<=n;i++)
{
while(f<=b && a[i]<=a[d[b]])
b--;
d[++b]=i;
if(d[f]==i-k) f++;
if(i>=k) sum+=a[d[f]];
}
g<<sum;
return 0;
}