Determining if a pair exists in a large sorted array
\$O(1)\$ is impossible indeed. Your solution is \$O(n^2)\$, because you ignore the most important part of the question: the array is sorted.

The \$O(n)\$ solution is to set a pair of iterators to the beginning and the end of the array. Then if a sum of their values is less than target, advance the beginning; if it greater, retreat the end. Keep going until they meet (or a target is found).