AT_utpc2025_n Numerical Error
题目描述
给定一个长度为 $N$ 的正整数序列 $A=(A_1,A_2,\ldots,A_N)$。
请判断是否存在 $\lbrace 1,2,\ldots,N \rbrace$ 的两个子集 $X,Y$ ,使得它们满足以下所有条件:
- $0 < |X|=|Y|$
- $X,Y$ 互不相同
- 令 $s_X = \sum_{x \in X} \frac1{A_x},\ s_Y = \sum_{y \in Y} \frac1{A_y}$ ,要求 $|s_X-s_Y| \le 10^{-5}$ 成立。
如果存在满足条件的 $X,Y$,请给出其中一组;否则请输出 `No`。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $A_1$ $A_2$ $\ldots$ $A_N$
输出格式
如果不存在满足条件的 $X,Y$,输出 `No`。
如果存在,设 $M=|X|=|Y|$,将 $X$ 的元素升序排列为 $X_1,X_2,\ldots,X_{M}$,将 $Y$ 的元素升序排列为 $Y_1,Y_2,\ldots,Y_{M}$,按如下格式输出:
> Yes $M$ $X_1$ $X_2$ $\ldots$ $X_M$ $Y_1$ $Y_2$ $\ldots$ $Y_M$
如果存在多组满足条件的 $X,Y$,输出其中任意一组均可。
说明/提示
### 样例解释 1
$$
s_X=\frac1{31}+\frac1{59}=0.04920721705\ldots,
$$
$$
s_Y=\frac1{26}+\frac1{93}=0.04921422663\ldots
$$
因此 $|s_X-s_Y| \le 10^{-5}$ 成立。
### 数据范围
- 所有输入均为整数
- $2\le N\le 1000$
- $1\le A_i \le 10^5$
由 ChatGPT 5 翻译