Advertisement
Radoslav_03

Untitled

Apr 3rd, 2023
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. /*#include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. int n;
  7. printf("Enter the length of the sequence: ");
  8. scanf("%d", &n);
  9.  
  10. int arr[n];
  11. printf("Enter %d integers: ", n);
  12. for(int i=0; i<n; i++)
  13. {
  14. scanf("%d", &arr[i]);
  15. }
  16.  
  17. int lis[n];
  18. int prev[n];
  19. for(int i=0; i<n; i++)
  20. {
  21. lis[i] = 1;
  22. prev[i] = -1;
  23. for(int j=0; j<i; j++)
  24. {
  25. if(arr[j] < arr[i] && lis[j]+1 > lis[i])
  26. {
  27. lis[i] = lis[j]+1;
  28. prev[i] = j;
  29. }
  30. }
  31. }
  32.  
  33. int max_lis = 0;
  34. int end_index = 0;
  35. for(int i=0; i<n; i++)
  36. {
  37. if(lis[i] > max_lis)
  38. {
  39. max_lis = lis[i];
  40. end_index = i;
  41. }
  42. }
  43.  
  44. int lis_seq[max_lis];
  45. int j = max_lis-1;
  46. int k = end_index;
  47. while(k >= 0)
  48. {
  49. lis_seq[j] = arr[k];
  50. j--;
  51. k = prev[k];
  52. }
  53.  
  54. printf("The longest increasing subsequence is: ");
  55. for(int i=0; i<max_lis; i++)
  56. {
  57. printf("%d ", lis_seq[i]);
  58. }
  59. printf("\n");
  60.  
  61. return 0;
  62. }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement