Untitled
unknown
plain_text
10 months ago
1.0 kB
3
Indexable
#include <bits/stdc++.h>
#define lli long long int
using namespace std;
lli check(lli w, lli a, lli b, lli c){
lli res = a*w*w + b*w;
res = res - c;
return res;
}
void solve(){
lli n, d;
cin>>n>>d;
vector<int> v(n);
for(int i=0;i<n;i++) cin>>v[i];
lli sum = 0, sqsum = 0;
for(int i=0;i<n;i++){
sum += v[i];
sqsum += (v[i] * v[i]);
}
// cout<<sum<<" "<<sqsum<<endl;
lli a = 4*n, b = 4*sum, c = sqsum - d;
// cout<<a<<" "<<b<<" "<<c<<endl;
int low = 1, high = 1e9; // max is sqrt(c)
while(low <= high){
int mid = low + (high - low) / 2;
lli res = check(mid, a, b, c);
if(res == 0){
cout<<mid<<endl;
return;
}
else if(res > 0){
high = mid - 1;
}
else{
low = mid + 1;
}
}
cout<<low<<endl;
}
// 1
// 2
// 4
// 5
// 7654321
// 126040443
// 79356352
// 124321725
// 113385729
// 110961227
int main()
{
int t;
cin>>t;
while(t--){
solve();
}
return 0;
}Editor is loading...
Leave a Comment