CF1512E.Permutation by Sum
普及/提高-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
A permutation is a sequence of n integers from 1 to n, in which all the numbers occur exactly once. For example, [1], [3,5,2,1,4], [1,3,2] are permutations, and [2,3,2], [4,3,1], [0] are not.
Polycarp was given four integers n, l, r (1≤l≤r≤n) and s (1≤s≤2n(n+1)) and asked to find a permutation p of numbers from 1 to n that satisfies the following condition:
- s=pl+pl+1+…+pr.
For example, for n=5, l=3, r=5, and s=8, the following permutations are suitable (not all options are listed):
- p=[3,4,5,2,1];
- p=[5,2,4,3,1];
- p=[5,2,1,3,4].
But, for example, there is no permutation suitable for the condition above for n=4, l=1, r=1, and s=5.
Help Polycarp, for the given n, l, r, and s, find a permutation of numbers from 1 to n that fits the condition above. If there are several suitable permutations, print any of them.
排列是指由 1 到 n 的 n 个整数组成的序列,其中每个数字恰好出现一次。例如,[1]、[3,5,2,1,4]、[1,3,2] 是排列,而 [2,3,2]、[4,3,1]、[0] 不是。
波利卡普得到了四个整数 n、l、r(满足 1≤l≤r≤n)和 s(满足 1≤s≤2n(n+1)),他需要找出一个由 1 到 n 构成的排列 p,使其满足以下条件:
- s=pl+pl+1+…+pr。
例如,当 n=5、l=3、r=5、s=8 时,以下排列均满足要求(未列出所有可能解):
- p=[3,4,5,2,1];
- p=[5,2,4,3,1];
- p=[5,2,1,3,4]。
但例如,当 n=4、l=1、r=1、s=5 时,不存在满足上述条件的排列。
请帮助波利卡普,对给定的 n、l、r 和 s,找出一个由 1 到 n 构成的满足上述条件的排列。若存在多个满足条件的排列,输出任意一个即可。
输入格式
The first line contains a single integer t (1≤t≤500). Then t test cases follow.
Each test case consist of one line with four integers n (1≤n≤500), l (1≤l≤n), r (l≤r≤n), s (1≤s≤2n(n+1)).
It is guaranteed that the sum of n for all input data sets does not exceed 500.
第一行包含一个整数 t(1≤t≤500)。随后是 t 组测试数据。
每组测试数据占一行,包含四个整数 n(1≤n≤500)、l(1≤l≤n)、r(l≤r≤n)和 s(1≤s≤2n(n+1))。
保证所有输入数据中 n 的总和不超过 500。
输出格式
For each test case, output on a separate line:
- n integers — a permutation of length n that fits the condition above if such a permutation exists;
- -1, otherwise.
If there are several suitable permutations, print any of them.
对于每个测试用例,在单独的一行上输出:
- n 个整数——若存在满足上述条件的排列,则输出一个长度为 n 的排列;
- -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测评打分。不知道怎么写?