A13057 | Running in Pairs
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Demonstrative competitions will be held in the run-up to the $20NN$ Berlatov Olympic Games. Today is the day for the running competition!
Berlatov team consists of $2n$ runners which are placed on two running tracks; $n$ runners are placed on each track. The runners are numbered from $1$ to $n$ on each track. The runner with number $i$ runs through the entire track in $i$ seconds.
The competition is held as follows: first runners on both tracks start running at the same time; when the slower of them arrives at the end of the track, second runners on both tracks start running, and everyone waits until the slower of them finishes running, and so on, until all $n$ pairs run through the track.
The organizers want the run to be as long as possible, but if it lasts for more than $k$ seconds, the crowd will get bored. As the coach of the team, you may choose any order in which the runners are arranged on each track (but you can't change the number of runners on each track or swap runners between different tracks).
You have to choose the order of runners on each track so that the duration of the competition is as long as possible, but does not exceed $k$ seconds.
Formally, you want to find two permutations $p$ and $q$ (both consisting of $n$ elements) such that $sum = \sum\limits_{i=1}^{n} max(p_i, q_i)$ is maximum possible, but does not exceed $k$ . If there is no such pair, report about it.
Berlatov team consists of $2n$ runners which are placed on two running tracks; $n$ runners are placed on each track. The runners are numbered from $1$ to $n$ on each track. The runner with number $i$ runs through the entire track in $i$ seconds.
The competition is held as follows: first runners on both tracks start running at the same time; when the slower of them arrives at the end of the track, second runners on both tracks start running, and everyone waits until the slower of them finishes running, and so on, until all $n$ pairs run through the track.
The organizers want the run to be as long as possible, but if it lasts for more than $k$ seconds, the crowd will get bored. As the coach of the team, you may choose any order in which the runners are arranged on each track (but you can't change the number of runners on each track or swap runners between different tracks).
You have to choose the order of runners on each track so that the duration of the competition is as long as possible, but does not exceed $k$ seconds.
Formally, you want to find two permutations $p$ and $q$ (both consisting of $n$ elements) such that $sum = \sum\limits_{i=1}^{n} max(p_i, q_i)$ is maximum possible, but does not exceed $k$ . If there is no such pair, report about it.
输入格式
The first line contains two integers $n$ and $k$ ( $1 \le n \le 10^6, 1 \le k \le n^2$ ) — the number of runners on each track and the maximum possible duration of the competition, respectively.
输出格式
If it is impossible to reorder the runners so that the duration of the competition does not exceed $k$ seconds, print $-1$ .
Otherwise, print three lines. The first line should contain one integer $sum$ — the maximum possible duration of the competition not exceeding $k$ . The second line should contain a permutation of $n$ integers $p_1, p_2, \dots, p_n$ ( $1 \le p_i \le n$ , all $p_i$ should be pairwise distinct) — the numbers of runners on the first track in the order they participate in the competition. The third line should contain a permutation of $n$ integers $q_1, q_2, \dots, q_n$ ( $1 \le q_i \le n$ , all $q_i$ should be pairwise distinct) — the numbers of runners on the second track in the order they participate in the competition. The value of $sum = \sum\limits_{i=1}^{n} max(p_i, q_i)$ should be maximum possible, but should not exceed $k$ . If there are multiple answers, print any of them.
Otherwise, print three lines. The first line should contain one integer $sum$ — the maximum possible duration of the competition not exceeding $k$ . The second line should contain a permutation of $n$ integers $p_1, p_2, \dots, p_n$ ( $1 \le p_i \le n$ , all $p_i$ should be pairwise distinct) — the numbers of runners on the first track in the order they participate in the competition. The third line should contain a permutation of $n$ integers $q_1, q_2, \dots, q_n$ ( $1 \le q_i \le n$ , all $q_i$ should be pairwise distinct) — the numbers of runners on the second track in the order they participate in the competition. The value of $sum = \sum\limits_{i=1}^{n} max(p_i, q_i)$ should be maximum possible, but should not exceed $k$ . If there are multiple answers, print any of them.
输入输出样例
输入 #1
5 20
输出 #1
20 1 2 3 4 5 5 2 4 3 1
输入 #2
3 9
输出 #2
8 1 2 3 3 2 1
输入 #3
10 54
输出 #3
-1
In the first example the order of runners on the first track should be $[5, 3, 2, 1, 4]$ , and the order of runners on the second track should be $[1, 4, 2, 5, 3]$ . Then the duration of the competition is $max(5, 1) + max(3, 4) + max(2, 2) + max(1, 5) + max(4, 3) = 5 + 4 + 2 + 5 + 4 = 20$ , so it is equal to the maximum allowed duration.
In the first example the order of runners on the first track should be $[2, 3, 1]$ , and the order of runners on the second track should be $[2, 1, 3]$ . Then the duration of the competition is $8$ , and it is the maximum possible duration for $n = 3$ .
In the first example the order of runners on the first track should be $[2, 3, 1]$ , and the order of runners on the second track should be $[2, 1, 3]$ . Then the duration of the competition is $8$ , and it is the maximum possible duration for $n = 3$ .
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted