http://codeforces.com/contest/914/problem/A
N要素の配列Aがある。
この中のperfect squareでない数の中で最大の数を答えよ。
xがperfect squareである -> x=y^2となるyが存在する
解法
http://codeforces.com/contest/914/submission/34407620
perfect squareであるかはyを全探索して確認すればいい。
Aの値は最大10^6なので、yは10^3くらいまで確認する。
HackポイントがAの値のうち負の数はperfect squareでないため、答えが負の数になるかもしれないという部分。
int N, A[1010]; //--------------------------------------------------------------------------------------------------- void _main() { cin >> N; rep(i, 0, N) cin >> A[i]; int ans = -inf; rep(i, 0, N) { if (A[i] < 0) chmax(ans, A[i]); else { int ok = 1; rep(j, 0, 1010) if (j * j == A[i]) ok = 0; if (ok) chmax(ans, A[i]); } } cout << ans << endl; }