Submission #1236774

#TimeUsernameProblemLanguageResultExecution timeMemory
1236774yassiaToys (CEOI18_toy)C++20
59 / 100
5092 ms956 KiB
#ifndef local #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC optimize("O3") #endif #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; using ll = int; using pll = pair<ll,ll>; using str = string; using ld = long double; auto sd = std::chrono::high_resolution_clock::now().time_since_epoch().count(); mt19937 rnd(sd); using ordset = tree<pll, null_type,less<>, rb_tree_tag,tree_order_statistics_node_update>; set<ll> answ; void rec(ll cur, ll ans) { if (cur==1){ answ.insert(ans); return; } for (int d = 1; d*d <= cur; d++){ if (cur % d == 0) { rec(d, ans+cur/d-1); if (cur/d !=d && d !=1)rec(cur/d, ans+d-1); } } } void solve1() { ll n; cin >> n; rec(n, 0); cout<<answ.size()<<'\n'; for (auto x: answ)cout<<x<<" "; cout<<endl; } signed main() { ios_base::sync_with_stdio(false); cin.tie(0); #ifdef local freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout); #endif ll t1 = 1; //cin>>t1; for (int _ = 0; _ < t1; ++_) solve1(); #ifdef local printf_s("\n%.5f s", (double) clock() / CLOCKS_PER_SEC); #endif }
#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...