Pagini recente » Cod sursa (job #204326) | Cod sursa (job #1826295) | Cod sursa (job #1083767) | Cod sursa (job #143413) | Cod sursa (job #521498)
Cod sursa(job #521498)
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]=-32000;
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]<<" ";
}
cout<<a[0];
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;
}