Submission #1133437

#TimeUsernameProblemLanguageResultExecution timeMemory
1133437mnbvcxz123Toys (CEOI18_toy)C++20
100 / 100
576 ms4400 KiB
#include<bits/stdc++.h> using namespace std; using ll=long long; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n; cin>>n; if(n==1){ cout<<"1\n0\n"; return 0; } vector<int>d{n}; for(int i=2;i*i<=n;++i) if(n%i==0){ d.push_back(i); if(i*i!=n)d.push_back(n/i); } sort(d.begin(),d.end()); set<int>st; auto dfs=[&](auto dfs, int x, int s, int i)->void{ if(x==1){ st.insert(s); return; } while(i>=0 and x%d[i])--i; if(i<0)return; dfs(dfs,x/d[i],s+d[i]-1,i); dfs(dfs,x,s,i-1); }; dfs(dfs,n,0,d.size()-1); cout<<st.size()<<'\n'; for(const int&i:st)cout<<i<<' '; cout<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...