結果
| 問題 |
No.3013 ハチマキ買い星人
|
| コンテスト | |
| ユーザー |
lp_ql
|
| 提出日時 | 2025-01-25 13:19:27 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 285 ms / 2,000 ms |
| コード長 | 827 bytes |
| コンパイル時間 | 12,963 ms |
| コンパイル使用メモリ | 378,508 KB |
| 実行使用メモリ | 33,152 KB |
| 最終ジャッジ日時 | 2025-01-25 22:43:15 |
| 合計ジャッジ時間 | 19,347 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 45 |
ソースコード
use std::{cmp::Reverse, collections::BinaryHeap};
use proconio::{input, marker::Usize1};
fn main() {
input!{
n: usize,
m: usize,
p: usize,
y: usize,
abc: [(Usize1,Usize1,usize);m],
de: [(Usize1,usize);p],
}
let mut g = vec![vec![];n];
for (a,b,c) in abc{
g[a].push((b,c));
g[b].push((a,c));
}
let mut cost = vec![1<<60;n];
let mut pq = BinaryHeap::new();
pq.push((Reverse(0),0));
while let Some((Reverse(c),v)) = pq.pop(){
if cost[v] != 1<<60{continue;}
cost[v] = c;
for &(nv,nc) in &g[v]{
pq.push((Reverse(c+nc),nv))
}
}
let mut h = vec![1<<60;n];
for (d,e) in de{
h[d] = e
}
println!("{}",(0..n).map(|i| (y.max(cost[i])-cost[i])/h[i]).max().unwrap());
}
lp_ql