import math
def eq(a,b,c):
x=b**2-(4*a*c)
y=math.sqrt(x)
ans=(-b+y)/(2*a)
return ans
t=int(input())
for i in range(0,t):
x=0
y=0
nn,kk=input().split()
n=int(nn)
k=int(kk)
li=list(map(int,input().split(' ')))
for j in li:
x+=j
y+=j**2
a=4*n
b=4*x
c=y-int(k)
ans=eq(a,b,c)
an=int(ans)
print(f"{an}\n")
#include "bits/stdc++.h"
using namespace std;
#define ll long long
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(),v.rend()
#define pb push_back
#define sz(a) (int)a.size()
#define int long long
void solve() {
int n, c; cin >> n >> c;
vector<int> a(n);
for(int i = 0; i < n; ++i) cin >> a[i];
int l = 1, r = 1e9;
while(l <= r) {
int mid = l + (r - l) / 2;
int sumall = 0;
for(int i = 0; i < n; ++i) {
sumall += (a[i] + 2 * mid) * (a[i] + 2 * mid);
if(sumall > c) break;
}
if(sumall == c) {
cout << mid << "\n";
return;
}
if(sumall > c) {
r = mid - 1;
} else {
l = mid + 1;
}
}
}
int32_t main() {
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int t = 1;
cin >> t;
while(t--) {
solve();
}
}
1632C - Strange Test | 673A - Bear and Game |
276A - Lunch Rush | 1205A - Almost Equal |
1020B - Badge | 1353A - Most Unstable Array |
770A - New Password | 1646B - Quality vs Quantity |
80A - Panoramix's Prediction | 1354B - Ternary String |
122B - Lucky Substring | 266B - Queue at the School |
1490A - Dense Array | 1650B - DIV + MOD |
1549B - Gregor and the Pawn Game | 553A - Kyoya and Colored Balls |
1364A - XXXXX | 1499B - Binary Removals |
1569C - Jury Meeting | 108A - Palindromic Times |
46A - Ball Game | 114A - Cifera |
776A - A Serial Killer | 25B - Phone numbers |
1633C - Kill the Monster | 1611A - Make Even |
1030B - Vasya and Cornfield | 1631A - Min Max Swap |
1296B - Food Buying | 133A - HQ9+ |