CF1269B.Modulo Equality
普及/提高-
通过率:0%
时间限制:3.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a positive integer m and two integer sequence: a=[a1,a2,…,an] and b=[b1,b2,…,bn]. Both of these sequence have a length n.
Permutation is a sequence of n different positive integers from 1 to n. For example, these sequences are permutations: [1], [1,2], [2,1], [6,7,3,4,1,2,5]. These are not: [0], [1,1], [2,3].
You need to find the non-negative integer x, and increase all elements of ai by x, modulo m (i.e. you want to change ai to (ai+x)modm), so it would be possible to rearrange elements of a to make it equal b, among them you need to find the smallest possible x.
In other words, you need to find the smallest non-negative integer x, for which it is possible to find some permutation p=[p1,p2,…,pn], such that for all 1≤i≤n, (ai+x)modm=bpi, where ymodm — remainder of division of y by m.
For example, if m=3, a=[0,0,2,1],b=[2,0,1,1], you can choose x=1, and a will be equal to [1,1,0,2] and you can rearrange it to make it equal [2,0,1,1], which is equal to b.
给你一个正整数 m 和两个整数序列:a=[a1,a2,…,an] 与 b=[b1,b2,…,bn]。这两个序列的长度均为 n。
排列 是由 1 到 n 的 n 个互不相同的正整数组成的序列。例如,以下序列是排列:[1]、[1,2]、[2,1]、[6,7,3,4,1,2,5];而以下序列不是排列:[0]、[1,1]、[2,3]。
你需要找出一个非负整数 x,使得将 a 中每个元素 ai 增加 x 后对 m 取模(即把 ai 变为 (ai+x)modm),所得的新序列可以通过重新排列其元素而与 b 完全相等。在所有满足条件的 x 中,你需要找出最小的那个。
换言之,你需要找出最小的非负整数 x,使得存在某个排列 p=[p1,p2,…,pn],满足对所有 1≤i≤n,均有 (ai+x)modm=bpi,其中 ymodm 表示 y 除以 m 所得的余数。
例如,若 m=3,a=[0,0,2,1],b=[2,0,1,1],你可以选择 x=1,此时 a 变为 [1,1,0,2],再将其重排为 [2,0,1,1](即 b),即可满足要求。
输入格式
The first line contains two integers n,m (1≤n≤2000,1≤m≤109): number of elemens in arrays and m.
The second line contains n integers a1,a2,…,an (0≤ai<m).
The third line contains n integers b1,b2,…,bn (0≤bi<m).
It is guaranteed that there exists some non-negative integer x, such that it would be possible to find some permutation p1,p2,…,pn such that (ai+x)modm=bpi.
第一行包含两个整数 n,m(1≤n≤2000,1≤m≤109):数组的元素个数和 m。
第二行包含 n 个整数 a1,a2,…,an(0≤ai<m)。
第三行包含 n 个整数 b1,b2,…,bn(0≤bi<m)。
保证存在某个非负整数 x,使得存在某个排列 p1,p2,…,pn,满足 (ai+x)modm=bpi。
输出格式
Print one integer, the smallest non-negative integer x, such that it would be possible to find some permutation p1,p2,…,pn such that (ai+x)modm=bpi for all 1≤i≤n.
输出一个整数,即满足条件的最小非负整数 x:存在某个排列 p1,p2,…,pn,使得对所有 1≤i≤n 均有 (ai+x)modm=bpi。
输入输出样例
输入#1
4 3 0 0 2 1 2 0 1 1
输出#1
1
输入#2
3 2 0 0 0 1 1 1
输出#2
1
输入#3
5 10 0 0 0 1 2 2 1 0 0 0
输出#3
0
输入解题思路,AI测评打分。不知道怎么写?