CF1493A.Anti-knapsack

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are given two integers nn and kk. You are asked to choose maximum number of distinct integers from 11 to nn so that there is no subset of chosen numbers with sum equal to kk.

A subset of a set is a set that can be obtained from initial one by removing some (possibly all or none) elements of it.

给你两个整数 nn 和 kk。你需要从 11 到 nn 中选出尽可能多的互不相同的整数,使得所选数字中不存在任何子集,其元素之和等于 kk。

一个集合的子集是指从原集合中移除若干(可能全部、也可能不移除)元素后得到的集合。

输入格式

The first line contains the number of test cases TT (1≤T≤1001 \le T \le 100).

Each of the next TT lines contains two integers nn and kk (1≤k≤n≤10001 \le k \le n \le 1000) — the description of test cases.

第一行包含测试用例的数量 TT(1≤T≤1001 \le T \le 100)。

接下来的 TT 行中,每行包含两个整数 nn 和 kk(1≤k≤n≤10001 \le k \le n \le 1000),表示各测试用例的描述。

输出格式

For each test case output two lines. In the first line output a single integer mm — the number of chosen integers.

In the second line output mm distinct integers from 11 to nn — the chosen numbers.

If there are multiple answers, print any. You can print the numbers in any order.

对于每个测试用例,输出两行。
第一行输出一个整数 mm —— 所选整数的个数。

第二行输出 mm 个互不相同的、取自 11 到 nn 的整数 —— 所选的数字。

若存在多个合法答案,输出任意一个即可。所选数字的顺序可以任意。

输入输出样例

  • 输入#1

    3
    3 2
    5 3
    1 1

    输出#1

    2
    3 1 
    3
    4 5 2 
    0

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

首页