Submission #1147427

#TimeUsernameProblemLanguageResultExecution timeMemory
1147427why1Toys (CEOI18_toy)C++20
0 / 100
0 ms320 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}; //map<int,vector<int>> mp; map<int,set<int>> mp; void merge(int n,int a,int b){ for(auto i: mp[a]){ for(auto j: mp[b]){ mp[n].insert(i+j); } } } void calc(int n,int p,int cnt=0){ if(n==1){ if(p!=-1) mp[p].insert(p-1); return; } for(int i = 1; i*i <= n; i++){ if(n%i==0){ calc(i,n,cnt+1); if(i*i!=n && i!=1){ calc(n/i,n,cnt+1); } merge(n,i,n/i); } } } void solve() { int n; cin>>n; calc(n,-1); cout<<mp[n].sz<<"\n"; for(auto i: mp[n]) cout<<i<<" "; } 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...