提出 #31286258
ソースコード 拡げる
use proconio::input;
fn main() {
input! {
mut n: i64,
};
let mut ans = vec![];
let mut sum = 0_i64;
for x in 0.. {
if n - sum == 0 {
break;
}
let r = (n - sum) % 2_i64.pow(x + 1);
if r != 0 {
ans.push(1);
sum += (-2_i64).pow(x);
} else {
ans.push(0);
}
}
if ans.is_empty() {
ans.push(0);
}
ans.reverse();
println!(
"{}",
ans.into_iter()
.map(|i| (b'0' + i as u8) as char)
.collect::<String>()
);
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | C - Base -2 Number |
| ユーザ | bouzuya |
| 言語 | Rust (1.42.0) |
| 得点 | 300 |
| コード長 | 596 Byte |
| 結果 | AC |
| 実行時間 | 7 ms |
| メモリ | 2160 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 300 / 300 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01, sample_02, sample_03 |
| All | 0_small0, 0_small1, 0_small2, 0_small3, 0_small4, 1_large0, 1_large1, 1_large2, 1_large3, 1_large4, 1_large5, 1_large6, 1_large7, 2_max0, 2_max1, sample_01, sample_02, sample_03 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 0_small0 | AC | 7 ms | 2008 KiB |
| 0_small1 | AC | 1 ms | 2024 KiB |
| 0_small2 | AC | 2 ms | 2052 KiB |
| 0_small3 | AC | 1 ms | 2040 KiB |
| 0_small4 | AC | 2 ms | 2060 KiB |
| 1_large0 | AC | 1 ms | 2152 KiB |
| 1_large1 | AC | 1 ms | 1980 KiB |
| 1_large2 | AC | 2 ms | 2036 KiB |
| 1_large3 | AC | 2 ms | 2112 KiB |
| 1_large4 | AC | 1 ms | 2160 KiB |
| 1_large5 | AC | 2 ms | 2092 KiB |
| 1_large6 | AC | 2 ms | 2076 KiB |
| 1_large7 | AC | 1 ms | 2108 KiB |
| 2_max0 | AC | 2 ms | 2120 KiB |
| 2_max1 | AC | 1 ms | 2012 KiB |
| sample_01 | AC | 1 ms | 2108 KiB |
| sample_02 | AC | 1 ms | 2144 KiB |
| sample_03 | AC | 3 ms | 2128 KiB |