100532 - 非完全平方数
给一个n个整数的数组,找出数组中最大的非完全平方数。
一个数x被称为完全平方数,是指存在一个整数y使得x=y^2。
Input
第一行,一个整数n。1<=n<=1000
第二行,n个整数ai。-10^6<=ai<=10^6。
保证至少存在一个非完全平方数。
Output
一个整数,表示数组中最大的非完全平方数。
Examples
Input
2 4 2
Output
2
Input
8 1 2 4 8 16 32 64 576
Output
32
Hint
C++中的nan(not a number):
对负数开方sqrt(-1.0)、对负数求对数(log(-1.0))、0.0/0.0、0.0*inf、inf/inf、inf-inf这些操作都会得到nan。(0/0会产生操作异常;0.0/0.0不会产生操作异常,而是会得到nan)
虽然,nan与整数进行比较运算时,其结果均为false。但是,正确的处理方式应该在产生nan之前——预测是否产生nan并进行合适的处理,次之的处理方式是产生nan之后进行合适的处理(isnan函数可以识别nan)。不要尝试利用这些特性,甚至将nan进行类型转换,将会产生不可预测的值,例如:nan转换为int时将会得到INT_MIN;使用这些特性的程序产生错误后极难查找和修复,是非常low的程序。