CF1617C.Paprika and Permutation
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Paprika loves permutations. She has an array a1,a2,…,an . She wants to make the array a permutation of integers 1 to n .
In order to achieve this goal, she can perform operations on the array. In each operation she can choose two integers i ( 1≤i≤n ) and x ( x>0 ), then perform ai:=aimodx (that is, replace ai by the remainder of ai divided by x ). In different operations, the chosen i and x can be different.
Determine the minimum number of operations needed to make the array a permutation of integers 1 to n . If it is impossible, output −1 .
A permutation is an array consisting of n distinct integers from 1 to n in arbitrary order. For example, [2,3,1,5,4] is a permutation, but [1,2,2] is not a permutation ( 2 appears twice in the array) and [1,3,4] is also not a permutation ( n=3 but there is 4 in the array).
输入格式
Each test contains multiple test cases. The first line contains a single integer t ( 1≤t≤104 ) — the number of test cases. Description of the test cases follows.
The first line of each test case contains an integer n ( 1≤n≤105 ).
The second line of each test case contains n integers a1,a2,…,an . ( 1≤ai≤109 ).
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105 .
输出格式
For each test case, output the minimum number of operations needed to make the array a permutation of integers 1 to n , or −1 if it is impossible.
输入输出样例
输入#1
4 2 1 7 3 1 5 4 4 12345678 87654321 20211218 23571113 9 1 2 3 4 18 19 5 6 7
输出#1
1 -1 4 2
说明/提示
For the first test, the only possible sequence of operations which minimizes the number of operations is:
- Choose i=2 , x=5 . Perform a2:=a2mod5=2 .
For the second test, it is impossible to obtain a permutation of integers from 1 to n .