fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. using namespace std;
  4.  
  5. int partition(int arr[], int low, int high)
  6. {
  7. int pivot = arr[high];
  8. int i = (low - 1);
  9.  
  10. for (int j = low; j < high; j++)
  11. {
  12.  
  13. if (arr[j] <= pivot)
  14. {
  15. i++;
  16. swap(arr[i], arr[j]);
  17. }
  18. }
  19. swap(arr[i + 1], arr[high]);
  20. return (i + 1);
  21. }
  22.  
  23. void quickSort(int arr[], int low, int high)
  24. {
  25. if (low < high)
  26. {
  27. int pi = partition(arr, low, high);
  28. quickSort(arr, low, pi - 1);
  29. quickSort(arr, pi + 1, high);
  30. }
  31. }
  32. void find_x(int* a, int n)
  33. {
  34. if (n == 0) cout << 0;
  35. int max_value = 0;
  36. for (int i = 0; i < n; i++)
  37. {
  38.  
  39. if (a[0] == a[i])
  40. {
  41. a[0] = a[0] + 1;
  42. }
  43.  
  44. else if (a[0] != a[i])
  45. {
  46. cout << a[0] << endl;
  47. break;
  48. }
  49.  
  50.  
  51.  
  52.  
  53. }
  54. }
  55.  
  56.  
  57. int main()
  58. {
  59. int n; cin >> n;
  60. int* a = new int[n];
  61. for (int i = 0; i < n; i++)
  62. {
  63. cin >> a[i];
  64. }
  65. quickSort(a, 0, n - 1);
  66.  
  67. find_x(a, n);
  68. delete[]a;
  69. return 0;
  70. }
Success #stdin #stdout 0.02s 5304KB
stdin
Standard input is empty
stdout
1