Submission #1190563

#TimeUsernameProblemLanguageResultExecution timeMemory
1190563AlgorithmWarriorToys (CEOI18_toy)C++20
59 / 100
5092 ms632 KiB
#include <bits/stdc++.h> using namespace std; int n; int nrd; int divi[100000]; set<int>rasp; void get_divis(){ cin>>n; int i; for(i=1;i*i<n;++i) if(n%i==0){ divi[++nrd]=i; divi[++nrd]=n/i; } if(i*i==n) divi[++nrd]=i; } void myback(int prod,int sum){ if(prod==n) rasp.insert(sum); else{ int i; for(i=2;i<=nrd;++i) if(1LL*prod*divi[i]<=n && n%(prod*divi[i])==0) myback(prod*divi[i],sum+divi[i]-1); } } void write(){ cout<<rasp.size()<<'\n'; for(auto el : rasp) cout<<el<<' '; } int main() { get_divis(); myback(1,0); write(); return 0; }
#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...