链接:

https://codeforces.com/contest/1247/problem/C

题意:

Vasya will fancy any number as long as it is an integer power of two. Petya, on the other hand, is very conservative and only likes a single integer p (which may be positive, negative, or zero). To combine their tastes, they invented p-binary numbers of the form 2x+p, where x is a non-negative integer.

For example, some −9-binary ("minus nine" binary) numbers are: −8 (minus eight), 7 and 1015 (−8=20−9, 7=24−9, 1015=210−9).

The boys now use p-binary numbers to represent everything. They now face a problem: given a positive integer n, what's the smallest number of p-binary numbers (not necessarily distinct) they need to represent n as their sum? It may be possible that representation is impossible altogether. Help them solve this problem.

For example, if p=0 we can represent 7 as 20+21+22.

And if p=−9 we can represent 7 as one number (24−9).

Note that negative p-binary numbers are allowed to be in the sum (see the Notes section for an example).

思路:

枚举使用的个数,判断n-i*p能不能满足条件。

代码:

#include <bits/stdc++.h>
typedef long long LL;
using namespace std; LL n, p; int Cal(LL x)
{
int cnt = 0;
while (x)
{
if (x&1)
cnt++;
x >>= 1;
}
return cnt;
} int main()
{
ios::sync_with_stdio(false);
cin >> n >> p;
for (int i = 1;i <= 1e4;i++)
{
LL v = n-p*i;
if (v <= 0)
break;
int num = Cal(v);
if (num <= i && i <= v)
{
cout << i << endl;
return 0;
}
}
cout << -1 << endl; return 0;
}

最新文章

  1. OuNews 简单的新闻客户端应用源码
  2. Cocopod
  3. c语言程序
  4. QAQ数论模板笔记√
  5. Linux下配置Node环境变量及问题详解
  6. JQuery中操作表单和表格
  7. io流之写文件
  8. Win7 64 bit 激活工具
  9. Codeforces Beta Round #2 A,B,C
  10. [Luogu3242][HNOI2015]接水果
  11. WHCTF-babyre
  12. JDBC学习笔记 day1
  13. selenium与chrome浏览器及驱动的版本匹配
  14. PLSQL设置细节
  15. Kali学习笔记24:Nikto、Skipfish
  16. vue的定位
  17. Usaco 2019 Jan Platinum
  18. 20155202张旭 Exp6 信息收集与漏洞扫描
  19. 学习MongoDB(二) Replica Set集群配置
  20. java study文件读写

热门文章

  1. vbox配置共享磁盘
  2. 一个简单的一个sql表遍历
  3. 解决GitHub下载慢问题,不用修改HOSTS文件
  4. 根据xsd文件生成对应的C#类,然后创建对应的xml文件
  5. Java框架 高并发系列 1第1天:必须知道的几个概念
  6. 【原创】大叔经验分享(86)hive和mysql数据互导
  7. 使用shared memory 计算矩阵乘法 (其实并没有加速多少)
  8. 关于Objective C的私有函数
  9. stm32 rtc 实时时钟
  10. 最全排序算法原理解析、java代码实现以及总结归纳