选座位
题号:NC276985
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

为了欢度七夕节,浅川击剑和四糸智乃打算举行大型线下情侣活动。
已知会场座位布置为 nn 列,为了让参加者安心陪对象,
每个人的座位会且只会和自己的对象相邻(前、后、左、右、左前、左后、右前、右后都算相邻)。
那么,会场能否坐下 k 对情侣?
如果不能,请指出坐下 k 对情侣最少需要几行几列座位。

输入描述:

第一行有两个整数 n\ (\ 1 \leq n \leq 2 \cdot 10^4\ )k\ (\ 0 \leq k \leq 10^8\ )

输出描述:

如果可以容下 k 对情侣,输出 yes
否则,输出 no ,并在第二行输出一个正整数 m
满足 mm 列座位能坐下 k 对情侣,但 m-1m-1 列座位不能坐下 k 对情侣。
示例1

输入

复制
4 4

输出

复制
yes

说明

4 对情侣位置安排在红色区域即可。

示例2

输入

复制
3 4

输出

复制
no
4

说明

易知,33 列座位无法坐下 4 对情侣,但 44 列座位可以坐下( 参见样例 1 )。
示例3

输入

复制
6 8

输出

复制
yes

说明

其中一种构造方式为:
1 0 1 0 1 1
1 0 1 0 0 0
0 0 0 0 1 1
1 1 0 0 0 0
0 0 0 1 0 1
1 1 0 1 0 1