zoukankan      html  css  js  c++  java
  • P1582-倒水

     1 #include <bits/stdc++.h>
     2 #define _for(i,a,b) for(int i = (a);i < b;i ++)
     3 typedef long long ll;
     4 using namespace std;
     5 
     6 inline ll read()
     7 {
     8     ll ans = 0;
     9     char ch = getchar(), last = ' ';
    10     while(!isdigit(ch)) last = ch, ch = getchar();
    11     while(isdigit(ch)) ans = (ans << 1) + (ans << 3) + ch - '0', ch = getchar();
    12     if(last == '-') ans = -ans;
    13     return ans;
    14 }
    15 inline void write(ll x)
    16 {
    17     if(x < 0) x = -x, putchar('-');
    18     if(x >= 10) write(x / 10);
    19     putchar(x % 10 + '0');
    20 }
    21 ll N,K;
    22 int bitcount (ll n)
    23 {
    24     int count=0;
    25     while (n)
    26     {
    27         count += n & 0x1u ;
    28         n >>= 1 ;
    29     }
    30     return count ;
    31 }
    32 int main()
    33 {
    34     N = read(), K = read();
    35     ll rnt = 0;
    36     while(1)
    37     {
    38         if(bitcount(N) <= K)
    39             break;
    40         rnt += N&(-N),N += N&(-N);
    41     }
    42     write(rnt);
    43     return 0;
    44 }
  • 相关阅读:
    二维数组和指向指针的指针
    多路复用构建高性能服务器
    disque概要
    漫谈云计算与SOA (1)
    zeromq
    自定义内存分配
    基于行的操作
    反应器类型的操作
    多个流,简短的读和写
    缓存
  • 原文地址:https://www.cnblogs.com/Asurudo/p/11362051.html
Copyright © 2011-2022 走看看