結果
問題 |
No.1498 Factorization from -1 to 1
|
ユーザー |
![]() |
提出日時 | 2021-05-08 14:40:16 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 917 bytes |
コンパイル時間 | 761 ms |
コンパイル使用メモリ | 75,132 KB |
最終ジャッジ日時 | 2025-01-21 09:16:39 |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 6 WA * 11 |
ソースコード
#include <vector> #include <iostream> using namespace std; int main() { vector<vector<long long> > factors(100100); vector<long long> rem(100100); for (int i = 1; i < rem.size(); i++) rem[i] = (long long)i * i + 1; for (int i = 1; i < factors.size(); i++) { long long p = rem[i]; if (p == 1) continue; for (long long j = i; j < 100100; j += p) while (rem[j] % p == 0) { rem[j] /= p; factors[j].push_back(p); } for (long long j = p - i; j < 100100; j += p) while (rem[j] % p == 0) { rem[j] /= p; factors[j].push_back(p); } } int q; cin >> q; while (q--) { int k; cin >> k; for (int i = 0; i < factors[k].size(); i++) { cout << factors[k][i] << (i == factors[k].size() - 1 ? '\n' : ' '); } } }