結果
問題 | No.2795 Perfect Number |
ユーザー |
|
提出日時 | 2024-06-28 21:55:59 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,424 bytes |
コンパイル時間 | 2,035 ms |
コンパイル使用メモリ | 200,328 KB |
実行使用メモリ | 10,624 KB |
最終ジャッジ日時 | 2024-06-28 21:56:08 |
合計ジャッジ時間 | 8,767 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 TLE * 2 -- * 17 |
ソースコード
#include<bits/stdc++.h> using namespace std; // OM NAMAH SHIVAY // #include<ext/pb_ds/assoc_container.hpp> // #include<ext/pb_ds/tree_policy.hpp> // using namespace __gnu_pbds; // typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds; // find_by_order, order_of_key #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl "\n" #define int long long const int inf = 1e18; // int dx[4]={-1,0,1,0}; // int dy[4]={0,1,0,-1}; // int dx[8]={0,-1,-1,-1,0,1,1,1}; // int dy[8]={1,1,0,-1,-1,-1,0,1}; const int N = 200200; const int mod = 1e9+7; using ii = pair<int,int>; //write on copy void solver(){ int n;cin>>n; int x = n; int sum = 1ll; int i = 2; for(;i*i<=n;i++) { if(n%i==0) { int cnt = 0; while(n%i==0) { cnt++; n/=i; } sum*=(pow(i,cnt+1)-1); sum/=(i-1); } if(sum>2*x) { cout<<"No"<<endl;return; } } if(n>1) { sum*=(pow(n,1+1)-1); sum/=(n-1); } if(sum==2*x) { cout<<"Yes"<<endl; } else { cout<<"No"<<endl; } } signed main() { IOS //int _t;cin>>_t;while(_t--) solver(); return 0; } #undef int