Submission #943246

#TimeUsernameProblemLanguageResultExecution timeMemory
943246iskhakkutbilimToys (CEOI18_toy)C++17
100 / 100
4968 ms94544 KiB
#include <bits/stdc++.h> using namespace std; #define ff first #define ss second #define all(a) a.begin(), a.end() #define int long long unordered_map<int, map<int, bool> > mp; vector<int> ans; int sum = 0; void f(int n){ mp[n][sum] = true; if(n == 1){ ans.push_back(sum); return; } int x = n; sum = sum + x - 1; if(!mp[n/x][sum]) f(n / x); sum = sum - x + 1; for(int d = 2; d * d <= n; d++){ if(n % d == 0){ x = d; sum = sum + x - 1; if(!mp[n/x][sum]) f(n / x); sum = sum - x + 1; } } } signed main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; f(n); sort(all(ans)); cout << ans.size() << '\n'; for(auto x : ans) cout << x << ' '; 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...