Pagini recente » Cod sursa (job #1005547) | Cod sursa (job #954407) | Cod sursa (job #1255995) | Cod sursa (job #293656) | Cod sursa (job #1203040)
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
deque <long> Dq;
long i,n,aux,k,A[500013],maxim(-99999),sol1(99999),sol2;
int main()
{
cin>>n>>k;
for (i=1;i<=n;++i){
cin>>A[i];
while(!Dq.empty() && A[i]<=A[Dq.back()]) Dq.pop_back();
Dq.push_back(i);
if (!Dq.empty() && i-k==Dq.front()) Dq.pop_front();
maxim=max(maxim,Dq.front());
if (maxim==Dq.front()){
sol1=i-k+1;
sol2=i;
}
}
for (i=sol2;i>=sol1;--i) cout<<A[i]<<" ";
return 0;
}