CF1612C Chat Ban
题目描述
你是最著名的直播平台上的普通聊天用户。当然,有些时候你只想放松一下,刷点表情。
更具体地说,你想刷一个大小为 $k$ 的表情三角形。它由 $2k-1$ 条消息组成。第一条消息包含 $1$ 个表情,第二条消息包含 $2$ 个表情,……,第 $k$ 条消息包含 $k$ 个表情,第 $k+1$ 条消息包含 $k-1$ 个表情,……,最后一条消息包含 $1$ 个表情。
例如,$k=3$ 时的表情三角形由 $5$ 条消息组成:

当然,大多数频道都有自动审核。当前聊天的自动审核会在你连续刷出至少 $x$ 个表情后立即封禁你(你可以假设你是聊天室中唯一的用户)。现在你想知道,在被封禁之前你最多能发多少条消息?或者你可能不会被封禁(即你能成功发完全部 $2k-1$ 条消息,完整刷出你的表情三角形)?注意,如果你因为发送某条消息而被封禁,这条消息也要计入消息总数。
你需要回答 $t$ 个独立的测试用例。
输入格式
输入的第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。接下来的 $t$ 行,每行描述一个测试用例。
每个测试用例包含两个整数 $k$ 和 $x$($1 \le k \le 10^9; 1 \le x \le 10^{18}$)。
输出格式
对于每个测试用例,输出在被封禁前你最多能发多少条消息。
说明/提示
让我们分析示例中的测试用例。
1. 在第一个测试用例中,你依次发送了 $1$、$2$ 和 $3$ 个表情的三条消息,由于 $1+2+3 \ge 6$,你在此之后被封禁。
2. 在第二个测试用例中,你依次发送了 $1$、$2$、$3$ 和 $4$ 个表情的四条消息,由于 $1+2+3+4 \ge 7$,你在此之后被封禁。
3. 在第三个测试用例中,你只发送了一条包含 $1$ 个表情的消息。这不会导致你被封禁,因为 $1 < 2$,而你已经完成了表情三角形的发送。所以你成功发送了一条消息。
4. 在第四个测试用例中,你依次发送了 $1$、$2$、$3$ 和 $2$ 个表情的四条消息,由于 $1+2+3+2 \ge 7$,你在此之后被封禁。
5. 在第五个测试用例中,你依次发送了 $1$、$2$ 和 $1$ 个表情的三条消息。这不会导致你被封禁,因为 $1+2+1 < 5$,而你已经完成了表情三角形的发送。所以你成功发送了三条消息。
6. 在第六个测试用例中,由于 $x=1$,你在发送第一条消息时就会被封禁。
7. 第七个测试用例数据过大,这里不做分析。
由 ChatGPT 4.1 翻译