CF1355D Game With Array

题目描述

Petya 和 Vasya 像往常一样,在一款有趣的新游戏中相互竞争。 游戏开始时,Petya 需要构造一个长度为 $N$ 的正整数数组。该数组所有元素的和应等于 $S$。然后,Petya 需要选择一个整数 $K$,满足 $0 \leq K \leq S$。 为了获胜,Vasya 需要在 Petya 的数组中找到一个非空子数组,使得该子数组所有元素的和恰好等于 $K$ 或 $S - K$。否则,Vasya 就会失败。 给定整数 $N$ 和 $S$,你需要判断 Petya 是否有必胜策略(即无论 Vasya 如何选择都无法获胜)。如果 Petya 能获胜,请帮助他给出一种方案。

输入格式

第一行包含两个整数 $N$ 和 $S$($1 \leq N \leq S \leq 10^{6}$),分别表示数组的长度和数组元素的和。

输出格式

如果 Petya 能获胜,第一行输出 "YES"(不带引号)。第二行输出 Petya 构造的数组,包含 $N$ 个正整数,且它们的和等于 $S$。第三行输出整数 $K$。如果有多种正确答案,可以输出任意一种。 如果 Petya 无法获胜,输出 "NO"(不带引号)。 输出中的字母大小写均可。

说明/提示

由 ChatGPT 4.1 翻译