Submission #1228921

#TimeUsernameProblemLanguageResultExecution timeMemory
1228921AmaarsaaToys (CEOI18_toy)C++20
100 / 100
463 ms4432 KiB
#include<bits/stdc++.h>

using namespace std;
using ll = long long;

set < ll > v;
void Go( ll x, ll n, ll cnt) {
	v.insert(cnt + n - 1);
	ll s, r = x;
	while ( r * r <= n) {
		if ( n % r == 0) {
			s = n/r;
			if ( s >= x) Go(s, n/s, cnt + s - 1);
			Go(r, s, cnt + r - 1);
		}
		r ++;
	}
	
	return ;
}

int main() {
	ll n, m, r, x, y, i, j, ans, t;

	cin >> n;
	
	Go(2, n, 0);
	cout << v.size() << endl;
	for ( ll X : v) {
		cout << X << " ";
	}
}
#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...