結果
問題 |
No.312 置換処理
|
ユーザー |
![]() |
提出日時 | 2016-02-04 09:45:19 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 13 ms / 2,000 ms |
コード長 | 661 bytes |
コンパイル時間 | 804 ms |
コンパイル使用メモリ | 70,832 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-15 12:02:01 |
合計ジャッジ時間 | 2,178 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 45 |
ソースコード
#include<iostream> #include<vector> #include<cmath> #include<algorithm> std::vector<long long> divisor(long long n){ std::vector<long long> v; v.push_back(n); long long s = sqrt(n); for(long long i = 2; i <= s; i++){ if(n % i == 0){ v.push_back(i); // 平方数ではない if(n / i != i){ v.push_back(n / i); } } } return v; } int main(){ long long n; std::cin >> n; std::vector<long long> v = divisor(n); std::sort(v.begin(), v.end()); if(v.front() == 2) v.erase(v.begin()); std::cout << v.front() << std::endl; return 0; }