이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#define fast ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define mem(dp,x) memset(dp,x,sizeof(dp))
#define pii pair<int,int>
#include <bits/stdc++.h>
#define pll pair<ll,ll>
#define ll long long
#define pb push_back
#define mid (l+r)/2
#define S second
#define F first
using namespace std;
const int inf = 1e9+9;
const int mod = 1e9+7;
ll n;
set < ll > se;
map < ll , ll > dp[100009];
map < ll , bool > done[100009];
void bt(ll val,ll sum){
if(sum < 0) return;
if(val == 1){
se.insert(sum);
}
if(done[val][sum] == 1) return;
done[val][sum] = 1;
for(ll i=1;i*i<=val;i++){
if(val%i != 0) continue;
if(i != 1) bt(val/i,sum+i-1);
if(i != val/i){
bt(val/(val/i),sum+(val/i)-1);
}
}
}
int main(){
fast,cin>>n;
bt(n,0);
int sz = se.size();
cout<<sz<<endl;
for(auto it:se){
cout<<it<<" ";
}
cout<<endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |