#include <stdio.h>
#include <iostream>
using namespace std;
void printKMax(int arr[], int n, int k)
{
int fr=0, max=arr[0],maxindex;
for(int i=0;i<k;i++){
if(arr[i]>=max) {max=arr[i]; maxindex=i;}
}
//cout<<"initialmax="<<max<<" maxindex="<<maxindex<<"\n";
cout<<max<<" ";
fr=1;
for (int i=k; i<n; i++)
{
if(maxindex>=fr && maxindex<=i){
if (arr[i] >= max){
max = arr[i];
maxindex=i;
}
}
else if(maxindex<fr){
max=arr[fr];
for(int j=fr;j<=i;j++){
if(arr[j]>=max){max=arr[j];maxindex=j;}
}
}
//cout<<"["<<arr[fr]<<"-"<<arr[i]<<"] max="<<max<<"\n";
cout<<max<<" ";
fr++;
}
}
int main()
{
//int arr[] = {12, 1, 78, 90, 57, 89, 56};
int arr[]={1,2,3,4,5,6,7,8,9,10,11};
int n = sizeof(arr)/sizeof(arr[0]);
int k = 3;
printKMax(arr, n, k);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdm9pZCBwcmludEtNYXgoaW50IGFycltdLCBpbnQgbiwgaW50IGspCnsKICAgIGludCBmcj0wLCBtYXg9YXJyWzBdLG1heGluZGV4OwogICAgCiAJZm9yKGludCBpPTA7aTxrO2krKyl7CiAJCWlmKGFycltpXT49bWF4KSB7bWF4PWFycltpXTsgbWF4aW5kZXg9aTt9CiAJfQogCS8vY291dDw8ImluaXRpYWxtYXg9Ijw8bWF4PDwiIG1heGluZGV4PSI8PG1heGluZGV4PDwiXG4iOwogCWNvdXQ8PG1heDw8IiAiOwogCWZyPTE7CiAgICBmb3IgKGludCBpPWs7IGk8bjsgaSsrKQogICAgewogICAgCQoJCWlmKG1heGluZGV4Pj1mciAmJiBtYXhpbmRleDw9aSl7CiAgICAgICAgCWlmIChhcnJbaV0gPj0gbWF4KXsgCiAgICAgICAgCQltYXggPSBhcnJbaV07CiAgICAgICAgCQltYXhpbmRleD1pOwogICAgICAgIAkJfQoJCX0KCQllbHNlIGlmKG1heGluZGV4PGZyKXsKCQkJbWF4PWFycltmcl07CgkJCWZvcihpbnQgaj1mcjtqPD1pO2orKyl7CgkJCQlpZihhcnJbal0+PW1heCl7bWF4PWFycltqXTttYXhpbmRleD1qO30KCQkJfQoJCX0KCQkvL2NvdXQ8PCJbIjw8YXJyW2ZyXTw8Ii0iPDxhcnJbaV08PCJdIG1heD0iPDxtYXg8PCJcbiI7CgkJY291dDw8bWF4PDwiICI7CgkJZnIrKzsKICAgIH0KfQogCiAKaW50IG1haW4oKQp7CiAgICAvL2ludCBhcnJbXSA9IHsxMiwgMSwgNzgsIDkwLCA1NywgODksIDU2fTsKICAgIGludCBhcnJbXT17MSwyLDMsNCw1LDYsNyw4LDksMTAsMTF9OwogICAgaW50IG4gPSBzaXplb2YoYXJyKS9zaXplb2YoYXJyWzBdKTsKICAgIGludCBrID0gMzsKICAgIHByaW50S01heChhcnIsIG4sIGspOwogICAgcmV0dXJuIDA7Cn0=