Pagini recente » Cod sursa (job #1314270) | Cod sursa (job #2500394) | Cod sursa (job #487525) | Cod sursa (job #1455595) | Cod sursa (job #2889369)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,d[5000002],v[5000002],k,i,front,back=1,j,nr,sum;
int main() {
f>>n>>k;
for(i=1;i<=n;i++)
{
f>>nr;
while(front!=0 && v[back]+k<=i)
{
for(j=2;j<=front;j++)
{
d[j-1]=d[j];
v[j-1]=v[j];
}
front--;
}
while(front!=0 && d[back]>nr)
{
for(j=2;j<=front;j++)
{
d[j-1]=d[j];
v[j-1]=v[j];
}
front--;
}
front++;
d[front]=nr;
v[front]=i;
if(i>=k){
sum += d[back];
cout<<d[back];
}
}
g<<sum;
return 0;
}