Submission #1243369

#TimeUsernameProblemLanguageResultExecution timeMemory
1243369DangKhoizzzzToys (CEOI18_toy)C++17
79 / 100
5101 ms159740 KiB
#include <bits/stdc++.h> #define pii pair <int , int> #define fi first #define se second #define pii pair <int , int> using namespace std; const int maxn = 1e5 + 7; const int mod = 1e9 + 7; int n; vector <short> g[maxn]; set <int> dp[maxn]; vector <int> uoc; void build () { for(int i = 1; i <= n; i++) { if(n%i == 0) { uoc.push_back(i); if(n/i != i) uoc.push_back(n/i); } } sort(uoc.begin() , uoc.end()); for(int i = 0; i < uoc.size(); i++) { for(int j = i+1; j < uoc.size(); j++) { if(uoc[j] % uoc[i] == 0) g[i].push_back(j); } } } void solve() { cin >> n; build(); dp[0] = {0}; for(int i = 0; i < uoc.size(); i++) { for(int j: g[i]) { for(int x: dp[i]) dp[j].insert(x + (uoc[j]/uoc[i] - 1)); } } cout << dp[-1 + (int)uoc.size()].size() << '\n'; for(int x: dp[-1 + (int)uoc.size()]) cout << x << ' '; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); solve(); 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...