結果
問題 |
No.1881 Everything is the same...
|
ユーザー |
![]() |
提出日時 | 2022-03-18 22:38:47 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 772 bytes |
コンパイル時間 | 2,597 ms |
コンパイル使用メモリ | 194,844 KB |
最終ジャッジ日時 | 2025-01-28 10:31:05 |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 WA * 26 |
ソースコード
#include <bits/stdc++.h> using namespace std; const int MAX = 100000; int main(){ int N; cin >> N; vector<int> A(N); for (int i = 0; i < N; i++){ cin >> A[i]; } vector<int> pr(MAX + 1, -1); for (int i = 2; i <= MAX; i++){ if (pr[i] == -1){ for (int j = i; j <= MAX; j += i){ pr[j] = i; } } } vector<int> B(N, 1); for (int i = 0; i < N; i++){ while (A[i] > 1){ int p = pr[A[i]]; int X = 1; while (A[i] % p == 0){ A[i] /= p; X *= p; } B[i] *= X / p * (p - 1); } } int cnt = 0; for (int i = 0; i < N; i++){ while (B[i] > 1){ B[i] /= pr[B[i]]; cnt++; } } if (cnt % 2 == 0){ cout << 'X' << endl; } else { cout << 'Y' << endl; } }