Pagini recente » Cod sursa (job #178733) | Cod sursa (job #2308104) | Cod sursa (job #1326864) | Cod sursa (job #1552237) | Cod sursa (job #521490)
Cod sursa(job #521490)
using namespace std;
#include<iostream>
#include<fstream>
int a[500005],dek[500005],N,K,front,back,fi;
ofstream fout("secventa.out");
void solve()
{int i;
int back=0;
int front=1;
a[0]=-0x3f3f3f3f;
int maxi=0;
for(i=1;i<=N;i++)
{
while(back>=front && a[dek[back]]>a[i]) back--;
back++;
dek[back]=i;
if(i-dek[front]==K) front++;
if(i>=K)
if(a[maxi]<a[dek[front]])
{
fi=i;
maxi=dek[front];
}
//cout<<dek[front]<<" ";
}
for(i=K-1;i>=0;i--)
{
fout<<a[fi-i]<<" ";
}
fout<<'\n';
}
void cit()
{
ifstream fin("secventa.in");
int i;
fin>>N>>K;
for(i=1;i<=N;i++)
{
fin>>a[i];
}
fin.close();
}
int main()
{
cit();
solve();
fout.close();
return 0;
}