Codeforces Round 847 (Div. 3) |
---|
Закончено |
Матрёшка — деревянная игрушка в виде расписной куклы, внутрь которой можно вложить подобную ей куклу меньшего размера.
Набор матрёшек содержит одну или более матрёшку, их размеры составляют подряд идущие положительные целые числа. Таким образом, набор матрёшек описывается двумя числами: $$$s$$$ — размером минимальной матрёшки в наборе и $$$m$$$ — количеством матрёшек в наборе. Иными словами, набор содержит матрёшки размеров $$$s, s + 1, \dots, s + m - 1$$$ для некоторых целых $$$s$$$ и $$$m$$$ ($$$s,m > 0$$$).
У вас было несколько наборов матрёшек. Недавно вы обнаружили, что кто-то смешал все ваши наборы в один и записал последовательность размеров кукол — целые числа $$$a_1, a_2, \dots, a_n$$$.
Вы не помните, сколько точно у вас было наборов, поэтому хотите найти минимальное количество наборов, которое могло быть у вас изначально.
Например, если заданная последовательность имеет вид $$$a=[2, 2, 3, 4, 3, 1]$$$. Изначально могло быть всего $$$2$$$ набора:
По заданной последовательности размеров матрёшек $$$a_1, a_2, \dots, a_n$$$ определите минимальное количество наборов матрёшек, которые могут эту последовательность составлять.
Каждый набор используется полностью, то используются все его матрёшки. Каждый элемент заданной последовательности должен соответствовать ровно одной кукле из какого-то набора.
В первой строке входных данных дано единственное целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Далее следуют описания наборов входных данных.
Первая строка описания каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — суммарное количество матрёшек, которые были во всех наборах.
Вторая строка описания каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — размеры матрёшек.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных теста не превосходит $$$2\cdot10^5$$$.
Для каждого набора входных данных выведите одно целое число $$$k$$$ — минимально возможное количество наборов, чтобы составить заданную последовательность.
1062 2 3 4 3 1511 8 7 10 961000000000 1000000000 1000000000 1000000000 1000000000 100000000081 1 4 4 2 3 2 361 2 3 2 3 4710 11 11 12 12 13 1378 8 9 9 10 10 1184 14 5 15 6 16 7 1785 15 6 14 8 12 9 1154 2 2 3 4
2 1 6 2 2 2 2 2 4 3
Первый набор входных данных разобран в условии.
Во втором наборе входных данных все матрёшки могли быть частью одного набора с минимальным размером матрёшки $$$s=7$$$.
В третьем наборе входных данных каждая матрешка представляет собой отдельный набор.
Название |
---|