Submission #1218200

#TimeUsernameProblemLanguageResultExecution timeMemory
1218200Nika533Toys (CEOI18_toy)C++20
100 / 100
1351 ms4408 KiB
#pragma GCC diagnostic warning "-std=c++11"
#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define f first
#define s second
#define MOD 1000000007
#define flush fflush(stdout)
#define all(x) (x).begin(),(x).end()
#define allr(x) (x).rbegin(), (x).rend()
#define pii pair<int,int>
using namespace std;
set<int> myset;
int n,m,T,k;
void rec(int curn, int cursum, int last) {
//	cout<<curn<<" "<<cursum<<" "<<last<<endl;
	if (curn==1) {
		myset.insert(cursum);
		return;
	}
	for (int i=2; i*i<=curn; i++) {
		if (i<last) continue;
		if (curn%i) continue;
		rec(curn/i,cursum+i-1,i);
	}
	for (int i=1; i*i<curn; i++) {
		if (curn%i) continue;
		int j=curn/i;
		if (j<last) continue;
		rec(curn/j,cursum+j-1,j);
	}
}
void test_case() {
	cin>>n; 
	rec(n,0,0);
	cout<<myset.size()<<endl;
	for (auto x:myset) {
		cout<<x<<" ";
	}
	cout<<endl;
}
main () {
	ios :: sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	T=1;
	while (T--) test_case();
}

Compilation message (stderr)

toy.cpp:1:32: warning: '-std=c++11' is not an option that controls warnings [-Wpragmas]
    1 | #pragma GCC diagnostic warning "-std=c++11"
      |                                ^~~~~~~~~~~~
toy.cpp:42:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   42 | main () {
      | ^~~~
#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...