diff --git a/Luogu/T206821/T206821.cpp b/Luogu/T206821/T206821.cpp new file mode 100644 index 00000000..b85f317b --- /dev/null +++ b/Luogu/T206821/T206821.cpp @@ -0,0 +1,35 @@ +#include + +using namespace std; + +int n, k, s; +vector a, b; + +int main() { + cin >> n >> k; + for (int i = 2; i * i <= n; i++) { + while (n % i == 0) { + a.push_back(i); + n /= i; + } + } + if (n > 1) a.push_back(n); + for (int i : a) { + s += i; + b.push_back(i); + } + if (s > k) { + cout << -1 << endl; + exit(0); + } + while (s < k) { + b.push_back(1); + s++; + } + cout << b.size() << endl; + for (int i : b) { + cout << i << ' '; + } + cout << endl; + return 0; +}