Submission #124394

#TimeUsernameProblemLanguageResultExecution timeMemory
124394youssefbou62Toys (CEOI18_toy)C++14
79 / 100
5010 ms39552 KiB
#include <bits/stdc++.h> using namespace std; #define mp make_pair #define fi first #define se second #define all(v) v.begin(), v.end() #define allarr(a) a, a + n #define ll long long #define ull unsigned long long #define pb push_back #define fastio \ ios_base::sync_with_stdio(false); \ cin.tie(NULL); \ cout.tie(NULL) typedef pair<int, int> pi; typedef pair<ll, ll> pll; typedef pair<int, pi> trp; typedef vector<pi> vpi; typedef vector<pll> vpll; ll _abs(ll x) { return (x > 0 ? x : -x); } vector<int> ans; set <pi> dp ; int N; void solve(int n, int x) { // cout << n << " " << x << endl; if (x >= N)return ; if (dp.find({n,x})!=dp.end()) return; dp.insert({n,x}); if (n == 1) { ans.pb(x); return; } for (int i = 1; i * i <= n; i++) { if (n % i == 0) { if (i != 1) solve(n / i, x + i - 1); solve(i, x + n / i - 1); } } } int main() { cin >> N; solve(N, 0); cout << ans.size() << endl; sort(all(ans)); for (int i : ans) cout << i << " "; }
#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...