Submission #1249401

#TimeUsernameProblemLanguageResultExecution timeMemory
1249401MateiKing80Toys (CEOI18_toy)C++20
100 / 100
1869 ms86456 KiB
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> divz; for (int i = 1; i <= sqrt(n); i ++) { if (n % i == 0) divz.push_back(i); if (n % i == 0 && i * i < n) divz.push_back(n / i); } sort(divz.begin(), divz.end()); int x = divz.size(); vector<set<int>> dp(x); dp[0].insert(0); for (int i = 0; i < x; i ++) { for (int j = 0; j < i; j ++) { if (divz[i] % divz[j] != 0) continue; for (auto k : dp[j]) dp[i].insert(k - 1 + divz[i] / divz[j]); } } cout << (int)dp[x - 1].size() << '\n'; for (auto i : dp[x - 1]) 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...