Submission #1039062

#TimeUsernameProblemLanguageResultExecution timeMemory
1039062slivajanToys (CEOI18_toy)C++17
79 / 100
5054 ms74648 KiB
#include <bits/stdc++.h> using namespace std; typedef long long un; typedef vector<un> vuc; typedef set<un> sun; #define vec vector #define REP(i, a, b) for (un i = (un)a; i < (un)b; i++) #define FEAC(i, a) for (auto&& i : a) #define ALL(x) (x).begin(), (x).end() map<un, sun> cache; void answer(un a){ if (cache.count(a) != 0) return; sun ret; ret.insert(a-1); for(un i = 2; i*i <= a; i++){ if (a%i != 0) continue; answer(i); answer(a/i); FEAC(sa, cache[i]) FEAC(sb, cache[a/i]){ ret.insert(sa + sb); } } cache[a] = ret; } int main(){ un N; cin >> N; answer(N); sun ans = cache[N]; cout << ans.size() << endl; FEAC(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...