小 Q 身為一位專業的壽司師傅,能夠同時使用兩隻手各自包不同的壽司,如此特殊的才藝也替壽司店吸引了不少人潮。
某天,壽司店舉辦了一場免費吃壽司的活動,並且要請小 Q 展示一下單手包壽司的技能。已知活動當天來到壽司店的第 $1$ 位客人將可以免費獲得 $1$ 個壽司、第 $2$ 位客人將可以免費獲得 $2$ 個壽司 $\cdots$ 依此類推。但是壽司店準備的材料有限,所以小 Q 將用以下的方法捏壽司:已知當天小 Q 的左手邊準備了可以捏出 $L$ 個壽司的材料、右手邊準備了可以捏出 $R$ 個壽司的材料。當第 $i$ 個客人來時,會使用所剩材料較多的那隻手捏 $i$ 個壽司給第 $i$ 個客人。由於小 Q 是個左撇子,因此若左手右手邊的食材一樣多時,會使用左手邊的材料捏壽司給客人。若左手邊及右手邊的材料都無法再捏出 $i$ 個壽司時,第 $i$ 個客人將拿不到任何壽司,並且當日的活動會立即結束。
註:左手邊及右手邊的材料不可混用,即使單邊的材料不夠也不能使用兩邊的材料組成 $i$ 個壽司。
給定小 Q 左右手邊的壽司材料數 $L,R$,求當天有幾個客人可以拿到壽司?並求活動結束後左邊及右邊分別剩下幾份材料?
輸入第一行包含一個整數 $T$($1\le T \le 100$),接下來會有 $T$ 組測試資料。第二行以後的 $T$ 組測試資料中,每行各有兩個以空白分隔的整數 $L,R$($0 \le L,R \le 10^ {18}$),代表當天左右手邊準備的壽司材料數。
輸出總共有 $T$ 行,每行有 $3$ 個以空白分隔的整數 $n, l, r$ 表示當天有拿到壽司的客人數 $n$、當天左手邊剩下的壽司材料數 $l$、以及當天右手邊剩下的壽司材料數 $r$。
Google Code Jam 2020 Round 2
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~1 | 範例測資 | 0 |
2 | 2~6 | $1\le L,R\le 1000$ | 30 |
3 | 0~12 | 無額外限制 | 70 |