結果
問題 |
No.3013 ハチマキ買い星人
|
ユーザー |
|
提出日時 | 2025-01-25 13:46:30 |
言語 | Rust (1.83.0 + proconio) |
結果 |
MLE
|
実行時間 | - |
コード長 | 917 bytes |
コンパイル時間 | 17,751 ms |
コンパイル使用メモリ | 381,700 KB |
実行使用メモリ | 1,223,244 KB |
最終ジャッジ日時 | 2025-01-25 23:00:01 |
合計ジャッジ時間 | 65,042 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge8 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 16 WA * 10 TLE * 13 MLE * 6 |
ソースコード
use proconio::{input, marker::Usize1}; use std::collections::VecDeque; fn main() { input! { n: usize, m: usize, p: usize, y: usize, abc: [(Usize1, Usize1, usize); m], de: [(Usize1, usize); p], } let mut graph = vec![vec![]; n]; for (a, b, c) in abc { graph[a].push((b, c)); graph[b].push((a, c)) } let mut rest_money = vec![0; n]; let mut queue = VecDeque::new(); queue.push_back((0, y)); while let Some((pos, money)) = queue.pop_front() { for &(next, robbed) in &graph[pos] { if rest_money[next] >= money - robbed { continue; } rest_money[next] = money - robbed; queue.push_back((next, money - robbed)); } } let mut ans = 0; for (d, e) in de { ans = ans.max(rest_money[d] / e); } println!("{}", ans); }