Untitled
#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; }
Leave a Comment