CF1512E.Permutation by Sum

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

A permutation is a sequence of nn integers from 11 to nn, in which all the numbers occur exactly once. For example, [1][1], [3,5,2,1,4][3, 5, 2, 1, 4], [1,3,2][1, 3, 2] are permutations, and [2,3,2][2, 3, 2], [4,3,1][4, 3, 1], [0][0] are not.

Polycarp was given four integers nn, ll, rr (1≤l≤r≤n)1 \le l \le r \le n) and ss (1≤s≤n(n+1)21 \le s \le \frac{n (n+1)}{2}) and asked to find a permutation pp of numbers from 11 to nn that satisfies the following condition:

  • s=pl+pl+1+…+prs = p_l + p_{l+1} + \ldots + p_r.

For example, for n=5n=5, l=3l=3, r=5r=5, and s=8s=8, the following permutations are suitable (not all options are listed):

  • p=[3,4,5,2,1]p = [3, 4, 5, 2, 1];
  • p=[5,2,4,3,1]p = [5, 2, 4, 3, 1];
  • p=[5,2,1,3,4]p = [5, 2, 1, 3, 4].

But, for example, there is no permutation suitable for the condition above for n=4n=4, l=1l=1, r=1r=1, and s=5s=5.

Help Polycarp, for the given nn, ll, rr, and ss, find a permutation of numbers from 11 to nn that fits the condition above. If there are several suitable permutations, print any of them.

排列是指由 11 到 nn 的 nn 个整数组成的序列,其中每个数字恰好出现一次。例如,[1][1]、[3,5,2,1,4][3, 5, 2, 1, 4]、[1,3,2][1, 3, 2] 是排列,而 [2,3,2][2, 3, 2]、[4,3,1][4, 3, 1]、[0][0] 不是。

波利卡普得到了四个整数 nn、ll、rr(满足 1≤l≤r≤n1 \le l \le r \le n)和 ss(满足 1≤s≤n(n+1)21 \le s \le \frac{n (n+1)}{2}),他需要找出一个由 11 到 nn 构成的排列 pp,使其满足以下条件:

  • s=pl+pl+1+…+prs = p_l + p_{l+1} + \ldots + p_r。

例如,当 n=5n=5、l=3l=3、r=5r=5、s=8s=8 时,以下排列均满足要求(未列出所有可能解):

  • p=[3,4,5,2,1]p = [3, 4, 5, 2, 1];
  • p=[5,2,4,3,1]p = [5, 2, 4, 3, 1];
  • p=[5,2,1,3,4]p = [5, 2, 1, 3, 4]。

但例如,当 n=4n=4、l=1l=1、r=1r=1、s=5s=5 时,不存在满足上述条件的排列。

请帮助波利卡普,对给定的 nn、ll、rr 和 ss,找出一个由 11 到 nn 构成的满足上述条件的排列。若存在多个满足条件的排列,输出任意一个即可。

输入格式

The first line contains a single integer tt (1≤t≤5001 \le t \le 500). Then tt test cases follow.

Each test case consist of one line with four integers nn (1≤n≤5001 \le n \le 500), ll (1≤l≤n1 \le l \le n), rr (l≤r≤nl \le r \le n), ss (1≤s≤n(n+1)21 \le s \le \frac{n (n+1)}{2}).

It is guaranteed that the sum of nn for all input data sets does not exceed 500500.

第一行包含一个整数 tt(1≤t≤5001 \le t \le 500)。随后是 tt 组测试数据。

每组测试数据占一行,包含四个整数 nn(1≤n≤5001 \le n \le 500)、ll(1≤l≤n1 \le l \le n)、rr(l≤r≤nl \le r \le n)和 ss(1≤s≤n(n+1)21 \le s \le \frac{n (n+1)}{2})。

保证所有输入数据中 nn 的总和不超过 500500。

输出格式

For each test case, output on a separate line:

  • nn integers — a permutation of length nn that fits the condition above if such a permutation exists;
  • -1, otherwise.

If there are several suitable permutations, print any of them.

对于每个测试用例,在单独的一行上输出:

  • nn 个整数——若存在满足上述条件的排列,则输出一个长度为 nn 的排列;
  • -1,否则。

如果存在多个满足条件的排列,输出其中任意一个即可。

输入输出样例

  • 输入#1

    5
    5 2 3 5
    5 3 4 1
    3 1 2 4
    2 2 2 2
    2 1 1 3

    输出#1

    1 2 3 4 5 
    -1
    1 3 2 
    1 2 
    -1

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

首页