Submission #112410

#TimeUsernameProblemLanguageResultExecution timeMemory
112410redaToys (CEOI18_toy)C++14
59 / 100
5022 ms17164 KiB
#include <bits/stdc++.h>
using namespace std;
vector <int>  ans;
void dfs (int a, vector <int> v, int s=0 )
{
	ans.push_back(s+a-1);
	for (int m:v)
		if (a%m == 0)
			dfs(a/m,v,s+m-1);
}
int main()
{
	int n;
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin>>n;
	vector <int> v;
	for (int i=2;i*i<=n;i++)
	{
		if(n%i!=0) continue;
		v.push_back(i);
		if(i!=n/i)
				v.push_back(n/i);
	}
	dfs(n,v);
	set <int> r;
	for (auto i:ans)
		r.insert(i);
	cout << r.size() << endl;
	for (auto it:r)
      cout<<it<<' ';
  	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...