问题 J: 学长的数组

问题 J: 学长的数组

时间限制: 1Sec 内存限制:128 MB
提交:356 解决:84
[ 状态] [ 讨论版] [ 提交] [命题人: ]
题目描述
hyk学长有一个长度为n的数组a[],a[i] = i (1 <= i <= n),llx想 寻找若干个区间[l,r]使得a[i] + ... + a[r] = n (l < r)。但是hyk太懒了,所以让你来帮助他来解决这个问题。
输入
包含一个整数的单独一行给出n的值(10 <= n <= 200000000 )。
输出
每行两个自然数,给出一个满足条件的连续自然数段中的第一个数和最后一个数,两数之间用一个空格隔开,所有输出行的第一个按从小到大的升序排列,对于给定的输入数据,保证至少有一个解。
样例输入 Copy
10000
样例输出 Copy
18 142 297 328 388 412 1998 2002
提示
1998+1999+2000+2001+2002 = 10000
所以1998到2002为10000的一个解