bool twosum(int A[], int N, int X) { sort(A, A+N); int i = 0, j = N-1; while (i < j) { if (A[i] + A[j] == X) return true; else if (A[i] + A[j] > X) j--; else i++; } return false; }