제출 #1242857

#제출 시각아이디문제언어결과실행 시간메모리
1242857chikien2009Toys (CEOI18_toy)C++20
59 / 100
5091 ms1484 KiB
#include <bits/stdc++.h> using namespace std; void setup() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); } int n; vector<int> fac; set<int> s; inline void Form(int ind, int rem, int num) { if (rem == 1 || ind == fac.size()) { if (rem == 1) { s.insert(num); } return; } Form(ind + 1, rem, num); while (rem % fac[ind] == 0) { rem /= fac[ind]; num += fac[ind] - 1; Form(ind + 1, rem, num); } } int main() { setup(); cin >> n; for (int i = 2; i * i <= n; ++i) { if (n % i == 0) { fac.push_back(i); if (i * i != n) { fac.push_back(n / i); } } } fac.push_back(n); sort(fac.begin(), fac.end()); Form(0, n, 0); cout << s.size() << "\n"; for (auto & i : s) { cout << i << " "; } 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...