提出 #67343583
ソースコード 拡げる
use itertools::Itertools;
#[allow(unused_imports)]
use proconio::input;
fn rec(l: usize, d: u32, a: &mut Vec<u64>) {
if d==0 { return; }
let nd = d-1;
let next_length = 2usize.pow(nd);
rec(l, nd, a);
rec(l+next_length, nd, a);
let mut is_same = true;
let k = l+2usize.pow(d);
for i in l..k {
if a[i] < a[next_length+i] {
break;
} else if a[i] > a[next_length+i] {
is_same = false;
break;
}
}
if !is_same {
// 反転
// for i in l..l+next_length {
// a.swap(i, k-i-1);
// }
a[l..l+next_length].reverse();
a[(l+next_length)..k].reverse();
a[l..k].reverse();
}
}
fn solve() {
input! {
n: u32,
mut a: [u64; 2usize.pow(n)]
}
rec(0, n, &mut a);
println!("{}", a.iter().join(" "));
}
fn main() {
input!{
t: usize,
}
for _ in 0..t {
solve();
}
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Reverse 2^i |
| ユーザ | ardRiriy |
| 言語 | Rust (rustc 1.70.0) |
| 得点 | 450 |
| コード長 | 1038 Byte |
| 結果 | AC |
| 実行時間 | 110 ms |
| メモリ | 8072 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 450 / 450 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt |
| All | 00_sample_00.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 1880 KiB |
| 01_test_00.txt | AC | 1 ms | 1804 KiB |
| 01_test_01.txt | AC | 1 ms | 1940 KiB |
| 01_test_02.txt | AC | 52 ms | 2748 KiB |
| 01_test_03.txt | AC | 5 ms | 2196 KiB |
| 01_test_04.txt | AC | 21 ms | 3056 KiB |
| 01_test_05.txt | AC | 21 ms | 2916 KiB |
| 01_test_06.txt | AC | 17 ms | 3096 KiB |
| 01_test_07.txt | AC | 16 ms | 3116 KiB |
| 01_test_08.txt | AC | 16 ms | 4004 KiB |
| 01_test_09.txt | AC | 18 ms | 4052 KiB |
| 01_test_10.txt | AC | 17 ms | 4008 KiB |
| 01_test_11.txt | AC | 21 ms | 8072 KiB |
| 01_test_12.txt | AC | 19 ms | 5752 KiB |
| 01_test_13.txt | AC | 17 ms | 4524 KiB |
| 01_test_14.txt | AC | 110 ms | 3428 KiB |
| 01_test_15.txt | AC | 14 ms | 7492 KiB |
| 01_test_16.txt | AC | 17 ms | 7492 KiB |
| 01_test_17.txt | AC | 17 ms | 7500 KiB |
| 01_test_18.txt | AC | 14 ms | 7504 KiB |
| 01_test_19.txt | AC | 18 ms | 7500 KiB |
| 01_test_20.txt | AC | 18 ms | 7500 KiB |
| 01_test_21.txt | AC | 18 ms | 7512 KiB |
| 01_test_22.txt | AC | 18 ms | 7532 KiB |
| 01_test_23.txt | AC | 17 ms | 7608 KiB |
| 01_test_24.txt | AC | 17 ms | 7500 KiB |