Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void quick_sort(int* a, int l, int r)
- {
- int pe;
- int l_hold = l;
- int r_hold = r;
- pe = a[l];
- while (l < r)
- {
- while ((a[r] >= pe) && (l < r))
- r--;
- if (l != r)
- {
- a[l] = a[r];
- l++;
- }
- while ((a[l] <= pe) && (l < r))
- l++;
- if (l != r)
- {
- a[r] = a[l];
- r--;
- }
- }
- a[l] = pe;
- pe = l;
- l = l_hold;
- r = r_hold;
- if (l < pe)
- quick_sort(a, l, pe - 1);
- if (r > pe)
- quick_sort(a, pe + 1, r);
- }
- int main()
- {
- int n;
- cout << "Enter n:";
- cin >> n;
- int t;
- cout << "Enter t:";
- cin >> t;
- int* a = new int[n];
- for (int i = 0; i < n; i++)
- cin >> a[i];
- quick_sort(a, 0, n - 1 );
- int i = 0;
- int j = n - 1;
- int res = 0;
- while (i < j)
- {
- if (a[i] + a[j] > t)
- j--;
- if (a[i] + a[j] < t)
- i++;
- else
- {
- res++;
- i++;
- j--;
- }
- }
- cout << res;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement