P12877 [蓝桥杯 2025 国 Python A] 心意

题目描述

小蓝有一个序列 $a$,同时他的朋友小乔有一个序列 $b$。 我们认为两个序列是和谐的,当且仅当存在某个数 $x$,使得对于所有的 $i$ 有 $a_i + x = b_i$。 现在小蓝可以让序列 $a$ 旋转,即通过一次参数为 $k$ 的旋转可以将序列 $a_1, a_2, \cdots, a_n$ 变为 $a_{1+k}, a_{2+k}, \cdots, a_n, a_1, a_2, \cdots, a_k$。 小蓝希望知道,是否存在这样的旋转操作,能够让序列 $a$ 和 $b$ 是和谐的。 输出共一行,一个自然数 $k$ 表示参数为 $k$ 的旋转操作能够让 $a, b$ 是和谐的,如果存在多个这样的 $k$,请输出最小的 $k$,如果不存在这样的 $k$,请输出 $-1$。

输入格式

输入的第一行包含一个正整数 $n$。 第二行包含 $n$ 个正整数 $a_1, a_2, \cdots, a_n$,相邻整数之间使用一个空格分隔。 第三行包含 $n$ 个正整数 $b_1, b_2, \cdots, b_n$,相邻整数之间使用一个空格分隔。

输出格式

输出一行包含一个整数表示答案,如果不存在,请输出整数 $-1$。

说明/提示

**【样例说明】** 小蓝可以让序列 $a$ 旋转得到 $3 \ 4 \ 5 \ 2$,根据和谐序列的定义,令 $x = -1$,那么此时 $a, b$ 就是和谐的。 **【评测用例规模与约定】** 对于 $50\%$ 的评测用例,$n \leq 3000$; 对于 $80\%$ 的评测用例,对于任意 $i \neq j$ 有 $a_i \neq a_j$; 对于所有评测用例,$1 \leq n \leq 5 \times 10^5$,$1 \leq a_i, b_i \leq 10^9$。