結果
問題 | No.2074 Product is Square ? |
ユーザー | pockyny |
提出日時 | 2022-09-17 20:51:01 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 504 ms / 2,000 ms |
コード長 | 814 bytes |
コンパイル時間 | 621 ms |
コンパイル使用メモリ | 70,476 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-22 00:58:36 |
合計ジャッジ時間 | 6,050 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 33 |
ソースコード
#include <iostream> using namespace std; typedef long long ll; ll gcd(ll a,ll b){ if(a<b) swap(a,b); if(b==0) return a; return gcd(a%b,b); } bool isSquare(ll x){ ll le = 0,ri = 1000000000; while(ri - le>1){ ll mid = (le + ri)/2; if(mid*mid>=x) ri = mid; else le = mid; } return ri*ri==x; } ll a[2010]; int main(){ int t; cin >> t; while(t){ t--; int i,j,n; cin >> n; for(i=0;i<n;i++) cin >> a[i]; for(i=0;i<n;i++){ for(j=i + 1;j<n;j++){ ll g = gcd(a[i],a[j]); a[i] /= g; a[j] /= g; } } bool f = true; for(i=0;i<n;i++){ if(!isSquare(a[i])) f = false; } if(f) cout << "Yes\n"; else cout << "No\n"; } }