Submission #133454

#TimeUsernameProblemLanguageResultExecution timeMemory
133454VardanyanToys (CEOI18_toy)C++14
79 / 100
5102 ms50416 KiB
#include <bits/stdc++.h> using namespace std; map<int,int> s; map<pair<int,int>,int> mp; vector<int> ans; void rec(int n,int sm,int ps = 1){ if(mp[{n,sm}]) return; mp[{n,sm}] = 1; if(n == 1){ if(!s[sm]){ ans.push_back(sm); s[sm] = 1; } return; } for(int i = ps;i*i<=n;i++){ if(n%i) continue; if(i>1){ rec(n/i,sm+i-1,ps); } int x = n/i; rec(n/x,sm+x-1,ps); } } int main(){ ios_base::sync_with_stdio(false); int n; cin>>n; rec(n,0); cout<<ans.size()<<endl; sort(ans.begin(),ans.end()); for(int i = 0;i<ans.size();i++) cout<<ans[i]<<" "; cout<<endl; return 0; }

Compilation message (stderr)

toy.cpp: In function 'int main()':
toy.cpp:32:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0;i<ans.size();i++) cout<<ans[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...