結果

問題 No.1871 divisXor
ユーザー kai4096_don
提出日時 2022-03-11 22:31:00
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 743 bytes
コンパイル時間 3,676 ms
コンパイル使用メモリ 230,512 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-09-22 12:59:26
合計ジャッジ時間 6,090 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using namespace atcoder;
//const long nPrime = 1000000007;
//const long nPrime = 998244353;
typedef long long ll;
int main() {
ll n;
cin >> n;
if(n==0){
cout << -1 << endl;
return 0;
}
vector<ll> viNum(50,0), viOrd(51,1);
for(ll i = 0; i < 50; i++){
viNum[i] = n%2;
n /= 2;
viOrd[i+1] = viOrd[i]*2;
}
vector<ll> viAns;
for(ll i = 49; i >= 1; i--){
if(viNum[i] != viNum[i-1]){
viAns.push_back(viOrd[i-1]);
}
}
cout << viAns.size() <<endl;
for(ll i = 0; i < viAns.size(); i++){
cout << viAns[i] << " ";
}
cout << endl;
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0