CF1497C2.k-LCM (hard version)

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

It is the hard version of the problem. The only difference is that in this version 3≤k≤n3 \le k \le n.

You are given a positive integer nn. Find kk positive integers a1,a2,…,aka_1, a_2, \ldots, a_k, such that:

  • a1+a2+…+ak=na_1 + a_2 + \ldots + a_k = n
  • LCM(a1,a2,…,ak)≤n2LCM(a_1, a_2, \ldots, a_k) \le \frac{n}{2}

Here LCMLCM is the least common multiple of numbers a1,a2,…,aka_1, a_2, \ldots, a_k.

We can show that for given constraints the answer always exists.

这是该问题的困难版本。唯一的区别在于本版本中 3≤k≤n3 \le k \le n。

给定一个正整数 nn,请找出 kk 个正整数 a1,a2,…,aka_1, a_2, \ldots, a_k,满足:

  • a1+a2+…+ak=na_1 + a_2 + \ldots + a_k = n
  • LCM(a1,a2,…,ak)≤n2LCM(a_1, a_2, \ldots, a_k) \le \frac{n}{2}

其中 LCMLCM 表示数字 a1,a2,…,aka_1, a_2, \ldots, a_k 的最小公倍数。

我们可以证明:在给定约束条件下,答案一定存在。

输入格式

The first line contains a single integer tt (1≤t≤104)(1 \le t \le 10^4) — the number of test cases.

The only line of each test case contains two integers nn, kk (3≤n≤1093 \le n \le 10^9, 3≤k≤n3 \le k \le n).

It is guaranteed that the sum of kk over all test cases does not exceed 10510^5.

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 表示测试用例的数量。

每个测试用例仅一行,包含两个整数 nn 和 kk(3≤n≤1093 \le n \le 10^9,3≤k≤n3 \le k \le n)。

保证所有测试用例的 kk 值之和不超过 10510^5。

输出格式

For each test case print kk positive integers a1,a2,…,aka_1, a_2, \ldots, a_k, for which all conditions are satisfied.

对于每个测试用例,输出 kk 个正整数 a1,a2,…,aka_1, a_2, \ldots, a_k,使得所有条件均被满足。

输入输出样例

  • 输入#1

    2
    6 4
    9 5

    输出#1

    1 2 2 1 
    1 3 3 1 1

输入解题思路,AI测评打分。不知道怎么写?

首页