提出 #33573629
ソースコード 拡げる
use proconio::input;
fn main() {
input! {
n: usize,
a: [i64; n],
}
// Hu--Tucker-based na\"ive algorithm
let mut res = 0;
let oo = 10_i64.pow(16);
let mut single = vec![true; n];
let mut a: Vec<_> = a.iter().map(|&ai| Some(ai)).collect();
for _ in 1..n {
let mut pair = (n, n);
let mut cost = oo;
for l in 0..n {
let al = if let Some(c) = a[l] { c } else { continue };
for r in l + 1..n {
let ar = if let Some(c) = a[r] { c } else { continue };
if cost > al + ar {
pair = (l, r);
cost = al + ar;
}
if single[r] {
break;
}
}
}
let (l, r) = pair;
res += cost;
a[l] = Some(cost);
a[r].take();
single[l] = false;
single[r] = false;
}
println!("{}", res);
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | N - Slimes |
| ユーザ | rsk0315 |
| 言語 | Rust (1.42.0) |
| 得点 | 100 |
| コード長 | 1011 Byte |
| 結果 | AC |
| 実行時間 | 16 ms |
| メモリ | 2120 KiB |
ジャッジ結果
| セット名 | All | ||
|---|---|---|---|
| 得点 / 配点 | 100 / 100 | ||
| 結果 |
|
| セット名 | テストケース |
|---|---|
| All | 0_00, 0_01, 0_02, 0_03, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 0_00 | AC | 5 ms | 2108 KiB |
| 0_01 | AC | 2 ms | 2092 KiB |
| 0_02 | AC | 2 ms | 2120 KiB |
| 0_03 | AC | 1 ms | 2048 KiB |
| 1_00 | AC | 2 ms | 2044 KiB |
| 1_01 | AC | 16 ms | 2112 KiB |
| 1_02 | AC | 14 ms | 2076 KiB |
| 1_03 | AC | 8 ms | 2080 KiB |
| 1_04 | AC | 8 ms | 2088 KiB |
| 1_05 | AC | 11 ms | 2108 KiB |
| 1_06 | AC | 10 ms | 2048 KiB |
| 1_07 | AC | 5 ms | 2064 KiB |
| 1_08 | AC | 7 ms | 2120 KiB |
| 1_09 | AC | 8 ms | 2120 KiB |
| 1_10 | AC | 8 ms | 2096 KiB |
| 1_11 | AC | 10 ms | 1956 KiB |