fork download
  1.  
  2. #include <limits.h>
  3. #include <stdio.h>
  4.  
  5.  
  6. bool isHeap(int arr[], int i, int n)
  7. {
  8.  
  9. if (i >= (n - 1) / 2)
  10. return true;
  11.  
  12.  
  13. if (arr[i] >= arr[2 * i + 1] &&
  14. arr[i] >= arr[2 * i + 2]
  15. && isHeap(arr, 2 * i + 1, n)
  16. && isHeap(arr, 2 * i + 2, n))
  17. return true;
  18.  
  19. return false;
  20. }
  21.  
  22.  
  23. int main()
  24. {
  25. int arr[] = { 90, 15, 10, 7, 12, 2, 7, 3 };
  26. int n = sizeof(arr) / sizeof(int) - 1;
  27. isHeap(arr, 0, n) ? printf("Yes") : printf("No");
  28.  
  29. return 0;
  30. }
  31.  
Success #stdin #stdout 0s 5452KB
stdin
Standard input is empty
stdout
Yes