結果
問題 | No.2379 Burnside's Theorem |
ユーザー | shojin_pro |
提出日時 | 2023-07-14 21:42:15 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 7 ms / 2,000 ms |
コード長 | 538 bytes |
コンパイル時間 | 2,199 ms |
コンパイル使用メモリ | 206,188 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-16 06:36:18 |
合計ジャッジ時間 | 2,863 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 20 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main(void){ // Your code here! long long N; cin >> N; set<long long> st; while(N > 1 && N % 2 == 0){ st.insert(2LL); N >>= 1; } long long now = 3LL; long long max = (long long)sqrt(N); while(now <= N && now <= max){ while(N > 1 && N % now == 0){ st.insert(now); N /= now; } now += 2; } if(N != 1){ st.insert(N); } cout << (st.size() > 2 ? "No" : "Yes") << "\n"; }