結果

問題 No.589 Counting Even
ユーザー Gurren47881Gurren47881
提出日時 2017-11-03 23:55:09
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
WA  
実行時間 -
コード長 688 bytes
コンパイル時間 1,590 ms
コンパイル使用メモリ 166,488 KB
実行使用メモリ 8,704 KB
最終ジャッジ日時 2024-05-02 20:49:53
合計ジャッジ時間 6,460 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
8,448 KB
testcase_01 AC 2 ms
5,376 KB
testcase_02 AC 2 ms
5,376 KB
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 TLE -
testcase_10 -- -
testcase_11 -- -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
testcase_21 -- -
testcase_22 -- -
testcase_23 -- -
testcase_24 -- -
testcase_25 -- -
testcase_26 -- -
testcase_27 -- -
testcase_28 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
 
using namespace std;
 
typedef long long ll;
#define REP(i,n) for(int i = 0;i < (n);i++)
#define pb push_back

const int INF = 1e9;
 
const ll mod=1e9+7;
 
int main(){

  ll nn;
  cin >> nn;
  ll sum = 0;
  ll n = nn;
  while(n%2 == 0){
    sum++;
    n /= 2;
    if(n == 0)
      break;
  }
  //cout << sum << endl;
  ll res = 0;
  REP(i,nn/2+1){
    ll sumn = 0;
    ll r = i;
    while(r%2 == 0 && r != 0){
      sumn++;
      r /= 2;
      
    }
    //cout << sumn << endl;
    if(sum > sumn && i != 0)
      res++;
  }
  if(nn%2 == 0 && nn != 0)
    cout << (res-1)*2+1 <<endl;
  else if(nn == 0)
    cout << 0 << endl;
  else
    cout << res*2 << endl;
}
0