結果
問題 | No.312 置換処理 |
ユーザー |
![]() |
提出日時 | 2018-07-10 14:47:01 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 13 ms / 2,000 ms |
コード長 | 1,808 bytes |
コンパイル時間 | 7,470 ms |
コンパイル使用メモリ | 227,500 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-15 12:21:15 |
合計ジャッジ時間 | 8,829 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 45 |
コンパイルメッセージ
In file included from /boost_git/boost/none_t.hpp:17, from /boost_git/boost/none.hpp:17, from /boost_git/boost/optional/optional.hpp:60, from /boost_git/boost/optional.hpp:15, from main.cpp:25: /boost_git/boost/config/pragma_message.hpp:24:34: note: '#pragma message: This header is deprecated. Use <boost/integer/common_factor_rt.hpp> instead.' 24 | # define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x))) | ^~~~~~~ /boost_git/boost/config/pragma_message.hpp:24:34: note: in definition of macro 'BOOST_PRAGMA_MESSAGE' 24 | # define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x))) | ^~~~~~~ /boost_git/boost/math/tools/header_deprecated.hpp:12:47: note: in expansion of macro 'BOOST_HEADER_DEPRECATED' 12 | # define BOOST_MATH_HEADER_DEPRECATED(expr) BOOST_HEADER_DEPRECATED(expr) | ^~~~~~~~~~~~~~~~~~~~~~~ /boost_git/boost/math/common_factor_rt.hpp:14:1: note: in expansion of macro 'BOOST_MATH_HEADER_DEPRECATED' 14 | BOOST_MATH_HEADER_DEPRECATED("<boost/integer/common_factor_rt.hpp>"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ソースコード
#if !defined(__clang__) && defined(__GNUC__)#include <bits/stdc++.h>#else#include <cstdlib>#include <climits>#include <iostream>#include <cstdint>#include <vector>#include <string>#include <complex>#include <bitset>#include <queue>#include <deque>#include <stack>#include <utility>#include <set>#include <map>#include <unordered_set>#include <unordered_map>#include <regex>#endif // !defined(__clang__) && defined(__GNUG__)#include <boost/lexical_cast.hpp>#include <boost/algorithm/string.hpp>#include <boost/multi_array.hpp>#include <boost/optional.hpp>#include <boost/math/common_factor_rt.hpp>using namespace std;/* エラトステネスのふるいO(n log log n) だいたい線形。 10万とかは余裕*/template<typename T>std::vector<T> sieve(T n){std::vector<T> primes;std::vector<bool> is_prime(n, true);is_prime[0] = is_prime[1] = false;for (T i = 2; i <= n; ++i) {if (is_prime[i]) {primes.push_back(i);for (T j = 2 * i; j <= n; j += i) {is_prime[j] = false;}}}return primes;}/** 素因数分解*/template<typename T>std::map<T, size_t>&factor( T n, const std::vector<T>& primes, std::map<T, size_t>& ret) {auto f = primes.begin();while (n > 1) {while (n % *f == 0) {ret[*f] = ret[*f] + 1;n /= *f;}++f;}return ret;}int main(){int64_t N;std::cin >> N;for (int64_t i = 3; i <= sqrt(N); ++i) {if (N % i == 0) {std::cout << i << std::endl;return 0;}}if (N % 2 == 0 && N / 2 != 2) {std::cout << N/2 << std::endl;}else {std::cout << N << std::endl;}return 0;}