Submission #920786

#TimeUsernameProblemLanguageResultExecution timeMemory
920786Muhammad_AneeqToys (CEOI18_toy)C++17
100 / 100
2310 ms90256 KiB
/* بسم الله الرحمن الرحيم Author: (:Muhammad Aneeq:) */ #include <iostream> #include <cmath> #include <set> #include <map> using namespace std; map<int,set<int>>d; set<int> divsum(int n) { if (d.find(n)!=d.end()) return d[n]; set<int>ans; ans.insert(n-1); for (int i=2;i<=sqrt(n);i++) { if (n%i==0) { set<int>y=divsum(n/i); for (auto j:y) ans.insert(i-1+j); } } d[n]=ans; return ans; } inline void solve() { int n; cin>>n; set<int>ans=divsum(n); cout<<ans.size()<<endl; for (auto i:ans) cout<<i<<' '; cout<<endl; } int main() { ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); solve(); }
#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...