CF1661B.Getting Zero
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Suppose you have an integer v . In one operation, you can:
- either set v=(v+1)mod32768
- or set v=(2⋅v)mod32768 .
You are given n integers a1,a2,…,an . What is the minimum number of operations you need to make each ai equal to 0 ?
输入格式
The first line contains the single integer n ( 1≤n≤32768 ) — the number of integers.
The second line contains n integers a1,a2,…,an ( 0≤ai<32768 ).
输出格式
Print n integers. The i -th integer should be equal to the minimum number of operations required to make ai equal to 0 .
输入输出样例
输入#1
4 19 32764 10240 49
输出#1
14 4 4 15
说明/提示
Let's consider each ai :
- a1=19 . You can, firstly, increase it by one to get 20 and then multiply it by two 13 times. You'll get 0 in 1+13=14 steps.
- a2=32764 . You can increase it by one 4 times: 32764→32765→32766→32767→0 .
- a3=10240 . You can multiply it by two 4 times: 10240→20480→8192→16384→0 .
- a4=49 . You can multiply it by two 15 times.