Pagini recente » Cod sursa (job #634248) | Cod sursa (job #2111658) | Cod sursa (job #1435435) | Cod sursa (job #1827715) | Cod sursa (job #1475036)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
struct mic
{
int ind,nr;
}a[5000002];
mic x;
int n,k,c1,c2,i,p,s;
int main()
{
fin>>n>>k;
c1=1;
c2=1;
fin>>a[1].nr;
a[1].ind=1;
for(i=2;i<=n;i++)
{
fin>>x.nr;
x.ind=i;
for(;c2>=c1&&x.nr<=a[c2].nr;c2--);
c2++;
a[c2].nr=x.nr;
a[c2].ind=x.ind;
for(;c1<=c2&&a[c2].ind-k>=a[c1].ind;c1++);
if(i>=k)
{
s+=a[c1].nr;
cout<<a[c1].nr<<" ";
}
}
fout<<s;
fin.close();
fout.close();
return 0;
}