Pagini recente » Cod sursa (job #442305) | Cod sursa (job #1011560) | Cod sursa (job #188234) | Cod sursa (job #2817778) | Cod sursa (job #461968)
Cod sursa(job #461968)
#include<fstream>
using namespace std;
int v[1<<23],dq[1<<23],n,k,st=1,dr;
ifstream in("deque.in");
ofstream out("deque.out");
inline void s(int x)
{
if (st<=dr && dq[st]==x-k)
++st;
}
void d(int x)
{
while (st<=dr && v[x]<=v[dq[dr]])
--dr;
dq[++dr]=x;
}
int main()
{
int i,x;
long long nr=0;
in>>n>>k;
for (i=1;i<k;i++)
{
in>>x;
v[i]=x;
d(i);
}
for (;i<=n;i++)
{
in>>x;
v[i]=x;
s(i);
d(i);
nr+=v[dq[st]];
}
out<<nr<<"\n";
return 0;
}