问题 J: 学长的数组

问题 J: 学长的数组

时间限制: 1 Sec  内存限制: 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的一个解