Submission #1147439

#TimeUsernameProblemLanguageResultExecution timeMemory
1147439why1Toys (CEOI18_toy)C++20
100 / 100
1391 ms86572 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define pii pair<int,int> #define sz size() #define all(v) v.begin(),v.end() #define fi first #define se second const int N = 5e5; const int mod = 1e9+7; const ll INF = 1e18; const int di[] = {1, -1, 0, 0}; const int dj[] = {0, 0, 1, -1}; void solve() { int n; cin>>n; vector<int> v; for(int i = 2; i*i <= n; i++){ if(n%i==0){ v.pb(i); if(i*i!=n) v.pb(n/i); } } v.pb(n); sort(all(v)); map<int,int> ind; for(int i = 0; i < v.sz; i++){ ind[v[i]]=i; } int m=v.sz; set<int> dp[m]; for(int i = 0; i < m; i++){ for(int j = 0; j < i; j++){ if(v[i]%v[j]==0){ for(auto d: dp[ind[v[i]/v[j]]]) dp[i].insert(d+v[j]-1); } } dp[i].insert(v[i]-1); } cout<<dp[m-1].sz<<"\n"; for(auto i: dp[m-1]) cout<<i<<" "; cout<<"\n"; } int main() { //freopen("cowrun.in","r",stdin); //freopen("cowrun.out","w",stdout); ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int t=1; //cin>>t; while(t--) { solve(); } 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...