Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int cmp(const void *a, const void *b);
- #define LENGTH 1000
- int main()
- {
- int T, N, i, j, k, ans;
- unsigned long arr[LENGTH], P, index;
- scanf("%d", &T);
- while(T--) {
- ans = 0;
- scanf("%d", &N);
- for(i = 0; i < N; i++) {
- scanf("%lu", &arr[i]);
- }
- qsort(arr, N, sizeof(arr[0]), cmp);
- scanf("%d", &P);
- for(i = 0; i < N - 2; i++) {
- j = i + 1;
- k = N - 1;
- while(j <= k) {
- index = arr[i] + arr[j] + arr[k];
- if(index == P) {
- ans = 1;
- break;
- }
- else if(index > P) {
- k--;
- }
- else {
- j++;
- }
- if(ans) break;
- }
- }
- if(ans)
- printf("YES\n");
- else
- printf("NO\n");
- }
- return 0;
- }
- int cmp(const void *a, const void *b)
- {
- return *(unsigned long *)a - *(unsigned long *)b;
- }
Add Comment
Please, Sign In to add comment