結果
問題 |
No.414 衝動
|
ユーザー |
![]() |
提出日時 | 2019-08-02 16:39:09 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 12 ms / 1,000 ms |
コード長 | 1,186 bytes |
コンパイル時間 | 1,592 ms |
コンパイル使用メモリ | 171,728 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-15 09:23:14 |
合計ジャッジ時間 | 2,378 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 13 |
ソースコード
#include<bits/stdc++.h> using namespace std; typedef long long ll; #define F first #define S second #define pii pair<int, int> #define eb emplace_back #define all(v) v.begin(), v.end() #define rep(i, n) for (int i = 0; i < n; ++i) #define rep3(i, l, n) for (int i = l; i < n; ++i) #define chmax(a, b) a = (a >= b ? a : b) #define chmin(a, b) a = (a <= b ? a : b) #define out(a) cout << a << endl #define outa(a, n) rep(_, n) cout << a[_] << " "; cout << endl #define SZ(v) (int)v.size() #define inf (int)(1e9+7) #define abs(x) (x >= 0 ? x : -(x)) #define ceil(a, b) a / b + !!(a % b) #define FIX(a) fixed << setprecision(a) // 約数の列挙 O(√n) template <typename T> vector<T> all_divisor_catch(T n) { vector<T> res; for (T i = 1; i * i <= n; i++) { if (n % i == 0) { res.push_back(i); if (i != n / i) res.push_back(n / i); } } return res; } int main() { ll n; cin >> n; auto v = all_divisor_catch(n); if (SZ(v) == 1 || SZ(v) == 2) { out(1 << " " << n); return 0; } rep(i, SZ(v)) { if (v[i] != 1 && v[i] != n) { out(v[i] << " " << n / v[i]); return 0; } } }