#NC2505A. Entangled Coins

Entangled Coins

题目描述

给定 nn 枚有两面(朝下或朝上)的硬币,其中有 ss 枚朝上,其余的朝下。

你可以操作硬币任意次(包括零次);在每次操作中,你应任选恰好 kk 枚硬币进行翻转(朝上变为朝下,反之亦然)。

你的目标是将朝上的硬币数量从 ss 变为 tt。输出所需的最少操作次数或报告无解。

输入格式

第一行含测试用例的数量 t(1t2×105)t(1⩽t⩽2×10^5)。测试用例格式如下:

每个测试用例仅占一行,含四个整数 n,k,s,t(1kn109,0s,tn)n,k,s,t(1⩽k⩽n⩽10^9,0⩽s,t⩽n),含义如上。

输出格式

对于每个测试用例,输出仅占一行:

如果有解,输出一个整数表示最少的操作次数;否则输出 −1 表示无解。

8
8 3 4 7
9 7 1 0
16 15 1 0
4 2 3 3
6 6 2 4
7 6 2 5
98257693 98257692 24 43850682
98257693 98257692 24 43850681
1
5
15
0
1
-1
43850658
-1