TopCoder

User's AC Ratio

100.0% (1/1)

Submission's AC Ratio

100.0% (1/1)

Tags

Description

小 Q 身為一位專業的壽司師傅,能夠同時使用兩隻手各自包不同的壽司,如此特殊的才藝也替壽司店吸引了不少人潮。

某天,壽司店舉辦了一場免費吃壽司的活動,並且要請小 Q 展示一下單手包壽司的技能。已知活動當天來到壽司店的第 $1$ 位客人將可以免費獲得 $1$ 個壽司、第 $2$ 位客人將可以免費獲得 $2$ 個壽司 $\cdots$ 依此類推。但是壽司店準備的材料有限,所以小 Q 將用以下的方法捏壽司:已知當天小 Q 的左手邊準備了可以捏出 $L$ 個壽司的材料、右手邊準備了可以捏出 $R$ 個壽司的材料。當第 $i$ 個客人來時,會使用所剩材料較多的那隻手捏 $i$ 個壽司給第 $i$ 個客人。由於小 Q 是個左撇子,因此若左手右手邊的食材一樣多時,會使用左手邊的材料捏壽司給客人。若左手邊及右手邊的材料都無法再捏出 $i$ 個壽司時,第 $i$ 個客人將拿不到任何壽司,並且當日的活動會立即結束。

註:左手邊及右手邊的材料不可混用,即使單邊的材料不夠也不能使用兩邊的材料組成 $i$ 個壽司。

給定小 Q 左右手邊的壽司材料數 $L,R$,求當天有幾個客人可以拿到壽司?並求活動結束後左邊及右邊分別剩下幾份材料?

Input Format

輸入第一行包含一個整數 $T$($1\le T \le 100$),接下來會有 $T$ 組測試資料。第二行以後的 $T$ 組測試資料中,每行各有兩個以空白分隔的整數 $L,R$($0 \le L,R \le 10^ {18}$),代表當天左右手邊準備的壽司材料數。

Output Format

輸出總共有 $T$ 行,每行有 $3$ 個以空白分隔的整數 $n, l, r$ 表示當天有拿到壽司的客人數 $n$、當天左手邊剩下的壽司材料數 $l$、以及當天右手邊剩下的壽司材料數 $r$。

Sample Input 1

3
1 2
2 2
8 11

Sample Output 1

1 1 1
2 1 0
5 0 4

Sample Input 2

1
1000000000000000000 1000000000000000000

Sample Output 2

1999999999 0 1000000000

Hints

Problem Source

Google Code Jam 2020 Round 2

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測資 0
2 2~6 $1\le L,R\le 1000$ 30
3 0~12 無額外限制 70

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 65536 1 3
1 1000 524288 65536 1 3
2 1000 524288 65536 2 3
3 1000 524288 65536 2 3
4 1000 524288 65536 2 3
5 1000 524288 65536 2 3
6 1000 524288 65536 2 3
7 1000 524288 65536 3
8 1000 524288 65536 3
9 1000 524288 65536 3
10 1000 524288 65536 3
11 1000 524288 65536 3
12 1000 524288 65536 3