307423: CF1355D. Game With Array

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Game With Array

题意翻译

给出两个数$N$,$S$ 问是否可以找到一个序列和一个数$K$($0<=K<=S$)满足:存在一个长度为$N$,和为$S$序列,在其中找不到一个子段的和为$K$或者$S-K$ 如果可以,输出YES以及找到的序列还有$K$ 否则,输出NO

题目描述

Petya and Vasya are competing with each other in a new interesting game as they always do. At the beginning of the game Petya has to come up with an array of $ N $ positive integers. Sum of all elements in his array should be equal to $ S $ . Then Petya has to select an integer $ K $ such that $ 0 \leq K \leq S $ . In order to win, Vasya has to find a non-empty subarray in Petya's array such that the sum of all selected elements equals to either $ K $ or $ S - K $ . Otherwise Vasya loses. You are given integers $ N $ and $ S $ . You should determine if Petya can win, considering Vasya plays optimally. If Petya can win, help him to do that.

输入输出格式

输入格式


The first line contains two integers $ N $ and $ S $ ( $ 1 \leq N \leq S \leq 10^{6} $ ) — the required length of the array and the required sum of its elements.

输出格式


If Petya can win, print "YES" (without quotes) in the first line. Then print Petya's array in the second line. The array should contain $ N $ positive integers with sum equal to $ S $ . In the third line print $ K $ . If there are many correct answers, you can print any of them. If Petya can't win, print "NO" (without quotes). You can print each letter in any register (lowercase or uppercase).

输入输出样例

输入样例 #1

1 4

输出样例 #1

YES
4
2

输入样例 #2

3 4

输出样例 #2

NO

输入样例 #3

3 8

输出样例 #3

YES
2 1 5
4

Input

题意翻译

给出两个数$N$,$S$ 问是否可以找到一个序列和一个数$K$($0<=K<=S$)满足:存在一个长度为$N$,和为$S$序列,在其中找不到一个子段的和为$K$或者$S-K$ 如果可以,输出YES以及找到的序列还有$K$ 否则,输出NO

加入题单

上一题 下一题 算法标签: