#CF4125. 图片用纸板

图片用纸板

题目描述

光头强有 nn 张图片。第 ii 张图片是一个边长为 sis_i 厘米的正方形。

他将每张图片装裱在一个正方形的硬纸板上,使得每张图片的四周都有 ww 厘米的硬纸板边框。总共,他使用了 cc 平方厘米的硬纸板。在给定图片大小和 cc 的情况下,你能找到 ww 的值吗?

image

第一个测试用例的一张图片。这里 c=50=52+42+32c=50=5^2+4^2+3^2,所以 w=1w=1 是答案。

请注意,每张图片的后面也是硬纸板,而不仅仅是边框部分。

输入格式

第一行包含一个整数 t(1t1000)t(1≤t≤1000) ——测试用例的数量。

每个测试用例的第一行包含两个正整数 n(1n2×105)n(1≤n≤2×10^5)c(1c1018)c(1≤c≤10^{18}) ——绘画数量和使用的硬纸板平方厘米数量。

每个测试用例的第二行包含 nn 个以空格分隔的整数 si(1si104)s_i(1≤s_i≤10^4) ——绘画的尺寸。

所有测试用例中 nn 的总和不超过 2×1052×10^5

输入的附加约束:对于每个测试用例,都存在这样的整数 ww

请注意,某些测试用例的输入可能不适用于 32 位整数类型,因此你应该在你的编程语言中使用至少 64位整数类型(例如 C++ 中的 long long)。

输出格式

对于每个测试用例,输出一个整数——用于使用确切的 cc 平方厘米硬纸板的 ww 的值 (w1)(w≥1)

测试样例

10
3 50
3 2 1
1 100
6
5 500
2 2 2 2 2
2 365
3 4
2 469077255466389
10000 2023
10 635472106413848880
9181 4243 7777 1859 2017 4397 14 9390 2245 7225
7 176345687772781240
9202 9407 9229 6257 7743 5738 7966
14 865563946464579627
3654 5483 1657 7571 1639 9815 122 9468 3079 2666 5498 4540 7861 5384
19 977162053008871403
9169 9520 9209 9013 9300 9843 9933 9454 9960 9167 9964 9701 9251 9404 9462 9277 9661 9164 9161
18 886531871815571953
2609 10 5098 9591 949 8485 6385 4586 1064 5412 6564 8460 2245 6552 5089 8353 3803 3764
1
2
4
5
7654321
126040443
79356352
124321725
113385729
110961227

样例说明

第一个测试用例在说明中已经解释过了。

对于第二个测试用例,选择的 ww22,因此唯一的硬纸板覆盖了 c=(2×2+6)2=102=100c=(2×2+6)^2=10^2=100 平方厘米的面积。

对于第三个测试用例,选择的 ww44,这样可以得到覆盖的面积 c=(2×4+2)2×5=102×5=100×5=500c=(2×4+2)^2×5=10^2×5=100×5=500 平方厘米。