Submission #930568

#TimeUsernameProblemLanguageResultExecution timeMemory
930568RegulusToys (CEOI18_toy)C++17
59 / 100
5062 ms1220 KiB
#include <bits/stdc++.h> #define IO ios::sync_with_stdio(false);cin.tie(0); #define debug(x) cerr << #x << " = " << (x) << ' ' #define bug(x) cerr << (x) << ' ' #define endl cerr << '\n' #define all(v) (v).begin(), (v).end() #define SZ(v) (ll)(v).size() #define lowbit(x) (x)&-(x) #define pb emplace_back #define F first #define S second using namespace std; using ll = long long; using pll = pair<ll, ll>; //#define TEST int sum = 0; set<int> st; inline void dfs(int x, int lim) { int m = sqrt(x); for (int i=lim; i <= m; ++i) { if (x / i < lim) break; if (x % i) continue; sum += i - 1; dfs(x / i, lim); sum -= i - 1; } st.insert(sum + x - 1); } int main(void) { IO int n, i; cin >> n; int m = sqrt(n); for (i=2; i <= m; ++i) { if (n % i) continue; sum = i - 1; dfs(n / i, i); } st.insert(n - 1); cout << SZ(st) << '\n'; for (int x : st) cout << x << ' '; cout << '\n'; 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...