AT_oupc2023_day1_i Min!? Max!? Max!? Min!?
题目描述
给定一个正整数 $N$ 和一个长度为 $M$ 的整数序列 $A$。
对于 $0$ 到 $N-1$ 之间的整数 $x$,我们定义 $f(x)$ 为:
- 满足 $\sum\limits_{i=1}^M A_i B_i \equiv x \pmod N$ 的所有长度为 $M$ 的整数序列 $B$ 中,$\sum\limits_{i=1}^M |B_i|$ 的最小值。
在题目的约束条件下,可以保证对于任意 $x$ 都至少存在一个满足 $\sum\limits_{i=1}^M A_i B_i \equiv x \pmod N$ 的整数序列 $B$。请在 $x=0,1,\dots,N-1$ 中,求出能够使 $f(x)$ 达到最大的 $x$。若有多个 $x$ 均能取得最大值,输出其中最小的一个。
输入格式
输入由一行组成,格式如下:
> $N$ $M$ $A_1$ $A_2$ $\dots$ $A_M$
输出格式
请你输出一个整数,表示使 $f(x)$ 最大的 $x$。如果有多个这样的 $x$,输出最小的一个。
说明/提示
## 子任务
1. (1 分)$NM \leq 200{,}000$
2. (99 分)无其他额外限制
## 样例解释 1
$f(0)=0, f(1)=1, f(2)=2, f(3)=1$,因此答案为 $2$。
此测试点满足子任务 1 的约束。
## 样例解释 2
此测试点满足子任务 1 的约束。
# 数据范围
- $1 \leq M \leq N \leq 200{,}000$
- $1 = A_1 < A_2 < \dots < A_M \leq N$
- 所有输入均为整数。
由 ChatGPT 5 翻译