A1555 | 音乐先辈Yuilice
来源官方 / 2023
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
Yuilice最近在玩一款音乐游戏AUS,但是怎么玩都玩不到SSS评分,一气之下,他决定写一个程序来玩从而拿到SSS评分。
Yuilice想方设法从AUS的数据库里面偷出了乐谱的数据,这些数据是由一组正整数$a_i(1 \leq a_i \leq 2 · 10^5)$组成的。
每个$a_i$都代表其中的某一个按键一半的地址$A$,转换方式为$2^{a_i} = A$,你还需要找到一个$a_j(i < j)$,将其转换成另一个地址$2^{a_j} = B$,假若$A^B = B^A$,那么便组成了一个按键完整的地址。
现在Yuilice想知道,他最多可以从中找出几个完整的按键地址?
Yuilice想方设法从AUS的数据库里面偷出了乐谱的数据,这些数据是由一组正整数$a_i(1 \leq a_i \leq 2 · 10^5)$组成的。
每个$a_i$都代表其中的某一个按键一半的地址$A$,转换方式为$2^{a_i} = A$,你还需要找到一个$a_j(i < j)$,将其转换成另一个地址$2^{a_j} = B$,假若$A^B = B^A$,那么便组成了一个按键完整的地址。
现在Yuilice想知道,他最多可以从中找出几个完整的按键地址?
输入格式
第一行输入一个整数$t(1 \leq t \leq 10^4)$,代表由$t$组样例等待测试。
随后每组样例的第一行输入一个整数$n(1 \leq n \leq 2 · 10^5)$,代表共有$n$个$a_i$。
随后一行输入$n$个整数$a_i(1 \leq a_i \leq 10^9)$。
随后每组样例的第一行输入一个整数$n(1 \leq n \leq 2 · 10^5)$,代表共有$n$个$a_i$。
随后一行输入$n$个整数$a_i(1 \leq a_i \leq 10^9)$。
输出格式
输出一个数字,代表Yuilice能够获得最大的按键地址总数。
输入输出样例
输入 #1
5 1 1 3 1 2 2 4 2 2 5 5 3 1 1 1 20 9 1 2 3 4 5 6 7 8 10 11 15 2 4 6 8 10 12 14 16 18
输出 #1
0 3 2 3 7
Note
- 第一组样例当中,无法组成任何一个地址
- 第二组样例当中,1可以与另外两个2构成2个地址,2与2构成一个地址.
- 第一组样例当中,无法组成任何一个地址
- 第二组样例当中,1可以与另外两个2构成2个地址,2与2构成一个地址.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?