CF1594A.Consecutive Sum Riddle

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Consecutive Sum Riddle

题目描述

Theofanis 给你出了一个谜题,如果你能解出来,他会免费送你一份塞浦路斯小吃 halloumi(一种塞浦路斯奶酪)。

给定一个整数 nn。你需要找到两个整数 llrr,使得 1018l<r1018-10^{18} \le l < r \le 10^{18},并且满足 l+(l+1)++(r1)+r=nl + (l + 1) + \ldots + (r - 1) + r = n

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn1n10181 \le n \le 10^{18})。

输出格式

对于每个测试用例,输出两个整数 llrr,满足 1018l<r1018-10^{18} \le l < r \le 10^{18},并且 l+(l+1)++(r1)+r=nl + (l + 1) + \ldots + (r - 1) + r = n

可以证明一定存在解。如果有多组解,输出任意一组即可。

说明/提示

在第一个测试用例中,0+1=10 + 1 = 1

在第二个测试用例中,(1)+0+1+2=2(-1) + 0 + 1 + 2 = 2

在第四个测试用例中,1+2+3=61 + 2 + 3 = 6

在第五个测试用例中,18+19+20+21+22=10018 + 19 + 20 + 21 + 22 = 100

在第六个测试用例中,(2)+(1)+0+1+2+3+4+5+6+7=25(-2) + (-1) + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 = 25

由 ChatGPT 4.1 翻译

样例

7
1
2
3
6
100
25
3000000000000
0 1
-1 2 
1 2 
1 3 
18 22
-2 7
999999999999 1000000000001

在线编程 IDE

建议全屏模式获得最佳体验