fork download
  1. #include <stdio.h>
  2. #include <iostream>
  3. using namespace std;
  4. void printKMax(int arr[], int n, int k)
  5. {
  6. int fr=0, max=arr[0],maxindex;
  7.  
  8. for(int i=0;i<k;i++){
  9. if(arr[i]>=max) {max=arr[i]; maxindex=i;}
  10. }
  11. //cout<<"initialmax="<<max<<" maxindex="<<maxindex<<"\n";
  12. cout<<max<<" ";
  13. fr=1;
  14. for (int i=k; i<n; i++)
  15. {
  16.  
  17. if(maxindex>=fr && maxindex<=i){
  18. if (arr[i] >= max){
  19. max = arr[i];
  20. maxindex=i;
  21. }
  22. }
  23. else if(maxindex<fr){
  24. max=arr[fr];
  25. for(int j=fr;j<=i;j++){
  26. if(arr[j]>=max){max=arr[j];maxindex=j;}
  27. }
  28. }
  29. //cout<<"["<<arr[fr]<<"-"<<arr[i]<<"] max="<<max<<"\n";
  30. cout<<max<<" ";
  31. fr++;
  32. }
  33. }
  34.  
  35.  
  36. int main()
  37. {
  38. //int arr[] = {12, 1, 78, 90, 57, 89, 56};
  39. int arr[]={1,2,3,4,5,6,7,8,9,10,11};
  40. int n = sizeof(arr)/sizeof(arr[0]);
  41. int k = 3;
  42. printKMax(arr, n, k);
  43. return 0;
  44. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
3 4 5 6 7 8 9 10 11