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 翻译