Submission #60774123
Source Code Expand
use std::{
cmp::Reverse,
collections::{BTreeSet, BinaryHeap, VecDeque},
};
use proconio::{input, marker::Chars};
pub fn main() {
input! {
h: usize,
w: usize,
xx: u128,
p: usize,
q: usize,
shw: [[u128; w]; h]
};
let p = p - 1;
let q = q - 1;
let mut slimed = vec![vec![false; w]; h];
slimed[p][q] = true;
let mut added = vec![vec![false; w]; h];
added[p][q] = true;
let mut power = shw[p][q];
let mut candidates = BinaryHeap::new();
let d = vec![(0, 1), (0, -1), (1, 0), (-1, 0)];
for (dy, dx) in d.clone() {
let ny = p as i64 + dy;
let nx = q as i64 + dx;
if ny < 0 || ny >= h as i64 || nx < 0 || nx >= w as i64 {
continue;
}
let ny = ny as usize;
let nx = nx as usize;
candidates.push(Reverse((shw[ny][nx], (ny, nx))));
added[ny][nx] = true;
}
while let Some(Reverse((np, (y, x)))) = candidates.pop() {
if slimed[y][x] {
continue;
}
if power > xx * np {
power += np;
slimed[y][x] = true;
} else {
println!("{}", power);
return;
}
for (dy, dx) in d.iter() {
let ny = y as i64 + dy;
let nx = x as i64 + dx;
if ny < 0 || ny >= h as i64 || nx < 0 || nx >= w as i64 {
continue;
}
let ny = ny as usize;
let nx = nx as usize;
if slimed[ny][nx] || added[ny][nx] {
continue;
}
added[ny][nx] = true;
candidates.push(Reverse((shw[ny][nx], (ny, nx))));
}
}
println!("{}", power);
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Takahashi is Slime 2 |
| User | macaroon |
| Language | Rust (rustc 1.70.0) |
| Score | 450 |
| Code Size | 1801 Byte |
| Status | AC |
| Exec Time | 65 ms |
| Memory | 13584 KiB |
Compile Error
warning: unused imports: `BTreeSet`, `VecDeque`
--> src/main.rs:3:19
|
3 | collections::{BTreeSet, BinaryHeap, VecDeque},
| ^^^^^^^^ ^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
warning: unused import: `marker::Chars`
--> src/main.rs:6:23
|
6 | use proconio::{input, marker::Chars};
| ^^^^^^^^^^^^^
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 450 / 450 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 01_random_33.txt, 01_random_34.txt, 01_random_35.txt, 01_random_36.txt, 01_random_37.txt, 01_random_38.txt, 01_random_39.txt, 01_random_40.txt, 01_random_41.txt, 01_random_42.txt, 01_random_43.txt, 01_random_44.txt, 01_random_45.txt, 01_random_46.txt, 01_random_47.txt, 01_random_48.txt, 01_random_49.txt, 01_random_50.txt, 01_random_51.txt, 01_random_52.txt, 01_random_53.txt, 01_random_54.txt, 01_random_55.txt, 01_random_56.txt, 01_random_57.txt, 01_random_58.txt, 01_random_59.txt, 01_random_60.txt, 01_random_61.txt, 01_random_62.txt, 01_random_63.txt, 01_random_64.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 2080 KiB |
| 00_sample_01.txt | AC | 1 ms | 2024 KiB |
| 00_sample_02.txt | AC | 1 ms | 1928 KiB |
| 01_random_03.txt | AC | 59 ms | 11332 KiB |
| 01_random_04.txt | AC | 3 ms | 2520 KiB |
| 01_random_05.txt | AC | 64 ms | 11900 KiB |
| 01_random_06.txt | AC | 13 ms | 4464 KiB |
| 01_random_07.txt | AC | 63 ms | 12220 KiB |
| 01_random_08.txt | AC | 3 ms | 2548 KiB |
| 01_random_09.txt | AC | 63 ms | 12200 KiB |
| 01_random_10.txt | AC | 9 ms | 3636 KiB |
| 01_random_11.txt | AC | 13 ms | 9552 KiB |
| 01_random_12.txt | AC | 1 ms | 1964 KiB |
| 01_random_13.txt | AC | 12 ms | 9548 KiB |
| 01_random_14.txt | AC | 5 ms | 3000 KiB |
| 01_random_15.txt | AC | 63 ms | 11752 KiB |
| 01_random_16.txt | AC | 1 ms | 2336 KiB |
| 01_random_17.txt | AC | 60 ms | 12244 KiB |
| 01_random_18.txt | AC | 3 ms | 2552 KiB |
| 01_random_19.txt | AC | 57 ms | 11208 KiB |
| 01_random_20.txt | AC | 4 ms | 4088 KiB |
| 01_random_21.txt | AC | 65 ms | 11928 KiB |
| 01_random_22.txt | AC | 2 ms | 3064 KiB |
| 01_random_23.txt | AC | 12 ms | 9404 KiB |
| 01_random_24.txt | AC | 3 ms | 3552 KiB |
| 01_random_25.txt | AC | 12 ms | 9480 KiB |
| 01_random_26.txt | AC | 1 ms | 2052 KiB |
| 01_random_27.txt | AC | 10 ms | 8368 KiB |
| 01_random_28.txt | AC | 3 ms | 3616 KiB |
| 01_random_29.txt | AC | 12 ms | 9508 KiB |
| 01_random_30.txt | AC | 5 ms | 4604 KiB |
| 01_random_31.txt | AC | 12 ms | 9524 KiB |
| 01_random_32.txt | AC | 4 ms | 3996 KiB |
| 01_random_33.txt | AC | 12 ms | 9588 KiB |
| 01_random_34.txt | AC | 7 ms | 6036 KiB |
| 01_random_35.txt | AC | 11 ms | 8912 KiB |
| 01_random_36.txt | AC | 2 ms | 2656 KiB |
| 01_random_37.txt | AC | 10 ms | 8228 KiB |
| 01_random_38.txt | AC | 4 ms | 3776 KiB |
| 01_random_39.txt | AC | 12 ms | 9472 KiB |
| 01_random_40.txt | AC | 2 ms | 2956 KiB |
| 01_random_41.txt | AC | 12 ms | 9464 KiB |
| 01_random_42.txt | AC | 4 ms | 4260 KiB |
| 01_random_43.txt | AC | 1 ms | 1940 KiB |
| 01_random_44.txt | AC | 1 ms | 2080 KiB |
| 01_random_45.txt | AC | 1 ms | 1892 KiB |
| 01_random_46.txt | AC | 1 ms | 1832 KiB |
| 01_random_47.txt | AC | 1 ms | 1940 KiB |
| 01_random_48.txt | AC | 1 ms | 1884 KiB |
| 01_random_49.txt | AC | 1 ms | 1932 KiB |
| 01_random_50.txt | AC | 1 ms | 1888 KiB |
| 01_random_51.txt | AC | 1 ms | 1884 KiB |
| 01_random_52.txt | AC | 1 ms | 1904 KiB |
| 01_random_53.txt | AC | 1 ms | 2024 KiB |
| 01_random_54.txt | AC | 1 ms | 2016 KiB |
| 01_random_55.txt | AC | 1 ms | 1972 KiB |
| 01_random_56.txt | AC | 1 ms | 2040 KiB |
| 01_random_57.txt | AC | 1 ms | 1940 KiB |
| 01_random_58.txt | AC | 26 ms | 13368 KiB |
| 01_random_59.txt | AC | 27 ms | 13584 KiB |
| 01_random_60.txt | AC | 29 ms | 13372 KiB |
| 01_random_61.txt | AC | 1 ms | 1936 KiB |
| 01_random_62.txt | AC | 1 ms | 1920 KiB |
| 01_random_63.txt | AC | 1 ms | 2084 KiB |
| 01_random_64.txt | AC | 1 ms | 2072 KiB |