Guest User

Untitled

a guest
Mar 22nd, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int cmp(const void *a, const void *b);
  5. #define LENGTH 1000
  6.  
  7. int main()
  8. {
  9. int T, N, i, j, k, ans;
  10. unsigned long arr[LENGTH], P, index;
  11.  
  12. scanf("%d", &T);
  13. while(T--) {
  14. ans = 0;
  15. scanf("%d", &N);
  16. for(i = 0; i < N; i++) {
  17. scanf("%lu", &arr[i]);
  18. }
  19. qsort(arr, N, sizeof(arr[0]), cmp);
  20. scanf("%d", &P);
  21. for(i = 0; i < N - 2; i++) {
  22. j = i + 1;
  23. k = N - 1;
  24. while(j <= k) {
  25. index = arr[i] + arr[j] + arr[k];
  26. if(index == P) {
  27. ans = 1;
  28. break;
  29. }
  30. else if(index > P) {
  31. k--;
  32. }
  33. else {
  34. j++;
  35. }
  36. if(ans) break;
  37. }
  38. }
  39. if(ans)
  40. printf("YES\n");
  41. else
  42. printf("NO\n");
  43. }
  44. return 0;
  45. }
  46.  
  47. int cmp(const void *a, const void *b)
  48. {
  49. return *(unsigned long *)a - *(unsigned long *)b;
  50. }
Add Comment
Please, Sign In to add comment