已结束 GESP排位赛#12

A3170 | 可分数列

来源官方 / 2024
时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

时间限制:1000ms

内存限制:128MB


给定一个大小为 $4N + 2$ 的首项为 $X$ 公差为 $D$ 的数列 $A_1, A_2, A_3, \cdots, A_{4N+2}$,若从中删去两项 $A_i, A_j$ 后剩余的 $4N$ 项可被平均分为 $N$ 组,且每组的 $4$ 个数都能构成公差大于 $D$ 的等差数列,则称数列 $A$ 是 $(i, j)$ - $\bf{可分数列}$。

删除的两项 $A_i, A_j$ 需要满足两项中的任一项都不为数列的首项或尾项,且两项在数列中不能相邻,即 $(1 < i < i + 1 < j < 4N + 2)$。

找出一组满足要求的 $(i, j)$,并给出数列 $A$ 的 $(i, j)$ 划分方案,如果无法找到满足如上要求的一组 $(i, j)$ 则输出 $-1$。

$\large{数据范围}$

- $1 \le N \le 10^5$
- $1 \le X, D \le 10^9$

输入格式

对于每个测试文件格式如下:

$\tt{N\ X\ D}$

输出格式

对于每个测试文件,若可以找到满足条件的一组 $(i, j)$,在单独的一行中输出符合要求的 $i$ 和 $j$ 中间用空格隔开。接下来 $N$ 行,每行输出 $4$ 个数表示被划分出的一个等差数列。

$\tt{i\ j}$

$\tt{B_{1_1}\ B_{1_2}\ B_{1_3}\ B_{1_4}}$
$\tt{B_{2_1}\ B_{2_2}\ B_{2_3}\ B_{2_4}}$
$\tt{\vdots}$
$\tt{B_{N_1}\ B_{N_2}\ B_{N_3}\ B_{N_4}}$


若无法找到满足条件的一组 $(i, j)$ 在单独的一行中输出 $-1$。

输入输出样例

输入 #1
3 1 1
输出 #1
2 13
1 4 7 10
3 6 9 12
5 8 11 14
输入 #2
1 8 2
输出 #2
-1
C++ 编辑器
输入
输出