設導彈攔截系統位於 $\color{black}{O_1(x_1, y_1)}$ 與 $\color{black}{O_2(x_2, y_2)}$,防護半徑分別為 $\color{black}{r_1}$ 與 $\color{black}{r_2}$,第 $\color{black}{i}$ 座城市位於 $\color{black}{P_i(\xi_i, \eta_i)}$。注意若 $\color{black}{\overline{O_1P_i}>r_1}$,則必須有 $\color{black}{r_2\ge\overline{O_2P_i}}$。若 $\color{black}{P_1, P_2, \ldots, P_n}$ 已根據 $\color{black}{\overline{O_1P_i}}$ 由小到大排序,我們的答案就是
\[\color{black}{\min\left\{\overline{O_1P_n}^2, \min_{1\le i\le n-1}\{\overline{O_1P_i}^2+\max_{i+1\le j\le n}\{\overline{O_2P_i}^2\}\}, \max_{1\le j\le n}\{\overline{O_2P_i}^2\}\right\}.}\]
因此可以用排序達到 $\color{black}{O(n\log n)}$ 的時間複雜度。
另外這題可以推廣到有三座導彈攔截系統的情況,時間複雜度一樣是 $\color{black}{O(n\log n)}$,有興趣的讀者可以想想看該怎麼做。