Pagini recente » Cod sursa (job #998992) | Cod sursa (job #456778) | Cod sursa (job #823680) | Cod sursa (job #663536) | Cod sursa (job #1753767)
#include <fstream>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
struct elem{
int v,p;
};
elem q[5000001];
long long s;
int n,i,st=1,dr=0,k,x;
int main()
{
cin>>n>>k;
for (i=1; i<=k; ++i)
{
cin>>x;
while(st<=dr && q[dr].v>=x) --dr;
q[++dr].v=x;
q[dr].p=i;
}
s+=q[st].v;
for (i=k+1; i<=n; ++i)
{
cin>>x;
while(st<=dr && q[dr].v>=x) --dr;
q[++dr].v=x;
q[dr].p=i;
if(q[st].p<=i-k) st++;
s+=q[st].v;
}
cout<<s;
return 0;
}