結果
問題 | No.1063 ルートの計算 / Sqrt Calculation |
ユーザー |
![]() |
提出日時 | 2020-05-30 10:13:32 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 2,469 bytes |
コンパイル時間 | 2,590 ms |
コンパイル使用メモリ | 198,932 KB |
最終ジャッジ日時 | 2025-01-10 19:14:53 |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 14 |
ソースコード
#pragma region template 2.4#include <bits/stdc++.h>using namespace std;template <typename T>using pq_asc = priority_queue<T, vector<T>, greater<T>>;typedef long long ll;typedef vector<ll> vi;typedef vector<vi> vvi;typedef pair<ll, ll> ii;typedef vector<ii> vii;typedef vector<string> vs;#define REP(i, n) for (ll i = 0; i < (n); ++i)#define REP1(i, n) for (ll i = 1; i <= (n); ++i)#define FOR(i, a) for (auto &i : a)#define CH(f, x, y) x = f(x, y)#define IN(T, x) \T x; \cin >> x;#define AIN(T, a, n) \vector<T> a(n); \FOR(i, a) \cin >> i;#define A2IN(T1, a, T2, b, n) \vector<T1> a(n); \vector<T2> b(n); \REP(i, n) \cin >> a[i] >> b[i];#define OUT(x) cout << (x) << endl;#define FOUT(x) cout << fixed << setprecision(15) << (x) << endl;#define ALL(a) (a).begin(), (a).end()#define SORT(a) sort(ALL(a))#define RSORT(a) \SORT(a); \reverse(ALL(a))#define DUMP(x) cout << #x << " = " << (x) << endl;#define DUMPA(a) \cout << #a << " = {"; \JOUT(ALL(a), ", ", cout) << "}" << endl;template <typename T>ostream &JOUT(T s, T e, string sep = " ", ostream &os = cout){if (s != e){os << *s;++s;}while (s != e){os << sep << *s;++s;}return os;}ostream &YES(bool cond, string yes = "Yes", string no = "No", ostream &os = cout){if (cond){os << yes << endl;}else{os << no << endl;}return os;}template <typename T1, typename T2>ostream &operator<<(ostream &os, const pair<T1, T2> &p){os << '(' << p.first << ", " << p.second << ')';return os;}template <typename T>ostream &operator<<(ostream &os, const vector<T> &v){os << '[';JOUT(ALL(v), ", ", os) << ']';return os;}const ll INF = 1e18;const ll MOD = 1e9 + 7;#pragma endregion template#pragma region factorization 1.0map<ll, ll> factorization(ll x){map<ll, ll> res;for (ll i = 2; i * i <= x; ++i){while (x % i == 0){++res[i];x /= i;}}if (x > 1){++res[x];}return res;}#pragma endregion factorizationint main(){IN(ll, n);ll a = 1;ll b = 1;for (auto [x, k] : factorization(n)){a *= pow(x, k / 2);b *= pow(x, k & 1);}cout << a << ' ' << b << endl;}