P15266 「UTOI 1A」sp! dusttale

题目描述

给定两个整数 $n,m$,你需要构造两个长度为 $n$ 的排列 $p, q$。 你需要保证构造的每个序列恰有 $m$ 个“峰”与 $m$ 个“谷”,“峰”与“谷”的定义如下: - 称一个排列 $a$ 中的 $i$ 位置为“峰”,当且仅当满足:$1

输入格式

第一行一个整数 $T$,表示测试数据组数。 接下来 $T$ 行,每行两个整数 $n, m$。

输出格式

对于每组测试数据,输出一行一个整数: - 若无法构造出符合要求的 $p, q$ 输出 $-1$。 - 否则输出 $\displaystyle \max_{i=1}^{n} (p_i + q_i)$ 的最小值。

说明/提示

**【样例解释】** 对于第 $1$ 组测试数据: - 可以构造出 $p=[1,3,2,4]$,$q=[4,2,3,1]$。 - $p$ 的“峰”为 $2$ 位置,“谷”为 $3$ 位置。 - $q$ 的“峰”为 $3$ 位置,“谷”为 $2$ 位置。 - $\displaystyle \max_{i=1}^{n} (p_i + q_i) = \max(\{1+4,\ 3+2,\ 2+3,\ 4+1\})=5$。 可以证明,不存在排列 $p,q$ 使得 $\displaystyle \max_{i=1}^{n} (p_i+q_i)$ 的值小于 $5$,因此输出 $5$。 对于第 $3$ 组测试数据:可以证明无法构造出符合要求的排列,因此输出 $-1$。 **【数据范围与约束】** 对于 $20\%$ 的测试点,保证 $n \le 10$,$T \le 3$。 对于 $50\%$ 的测试点,保证 $n \le 10^5$,$T\le 10$。 对于额外 $10\%$ 的测试点,保证 $m > n$。 对于 $100 \%$ 的测试点,保证 $1\le T\le 10^4$,$1\le n,m \le 10^9$。