const int N = 2e5 + 10;
int n;
int a[N];
void solve() {
cin >> n;
int sum = 0;
for(int i = 1; i <= n; i ++ ) cin >> a[i], sum += a[i];
if(sqrt(sum) * sqrt(sum) == sum) {
cout << "YES" << endl;
}
else cout << "NO" << endl;
}
为什么sqrt(sum) * sqrt(sum) 可能会错 但是
int res = sqrt(sum);
//cout << sqrt(sum) * sqrt(sum) << endl;
if(res * res == sum) {
cout << "YES" << endl;
}
else cout << "NO" << endl;
这样写就是对的