#P0720. 方块塔

方块塔

题目描述

小明有一些正方体积木,他想用这些积木搭一座方块塔。

方块塔从下往上搭,第 1 层需要 1 * 1 块积木,第 2 层需要 2 * 2 块积木,第 3 层需要 3 * 3 块积木,依此类推。

也就是说,如果要完整搭好第 i 层,就需要 i * i 块积木。

现在小明一共有 n 块积木。他会从第 1 层开始一层一层往上搭,只有当前层所需积木足够时,才会搭这一层。

请你计算:

  1. 小明最多能完整搭多少层;
  2. 搭完这些完整层后,还会剩下多少块积木。

输入格式

输入一行,一个正整数 n,表示小明拥有的积木数量。

输出格式

输出共 2 行。

第 1 行输出一个整数,表示最多能完整搭出的层数。

第 2 行输出一个整数,表示剩余的积木数量。

样例

20
3
6

样例说明

第 1 层需要 1 * 1 = 1 块积木。

第 2 层需要 2 * 2 = 4 块积木。

第 3 层需要 3 * 3 = 9 块积木。

搭完前 3 层一共需要 1 + 4 + 9 = 14 块积木,还剩 20 - 14 = 6 块。

如果继续搭第 4 层,需要 4 * 4 = 16 块积木,但剩下的 6 块不够,所以最多只能完整搭 3 层。

数据范围

  • 对于 100% 的数据,满足 1 <= n <= 100000