結果
問題 |
No.3067 +10 Seconds Clock
|
ユーザー |
|
提出日時 | 2025-04-27 23:20:46 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 27 ms / 2,000 ms |
コード長 | 984 bytes |
コンパイル時間 | 14,347 ms |
コンパイル使用メモリ | 376,028 KB |
実行使用メモリ | 9,216 KB |
最終ジャッジ日時 | 2025-04-27 23:21:03 |
合計ジャッジ時間 | 16,545 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
コンパイルメッセージ
warning: variable `N` should have a snake case name --> src/main.rs:6:9 | 6 | N:usize, T:usize, | ^ help: convert the identifier to snake case: `n` | = note: `#[warn(non_snake_case)]` on by default warning: variable `T` should have a snake case name --> src/main.rs:6:18 | 6 | N:usize, T:usize, | ^ help: convert the identifier to snake case: `t` warning: variable `K` should have a snake case name --> src/main.rs:8:9 | 8 | K:usize, | ^ help: convert the identifier to snake case (notice the capitalization): `k`
ソースコード
use proconio::input; use std::collections::HashSet; fn main() { input!{ N:usize, T:usize, mut t:[usize;N-1], K:usize, x:[usize;K] } t.insert(0,0); t.insert(1,0); let x:HashSet<usize> = HashSet::from_iter(x.iter().cloned()); let mut cnt:isize = T.clone() as isize; let mut useble_clock:usize = 0; let mut ans:isize = 0; for i in 2..=N { // 地点iに行けるか否かの判定 cnt -= t[i] as isize; if cnt <= 0 { if (-cnt)/10 + 1 > (useble_clock as isize) { ans = -1; break; } else { let use_clock:usize = (-cnt as usize)/10 + 1; useble_clock -= use_clock as usize; ans += use_clock as isize; cnt += 10*(use_clock as isize); } } if x.contains(&i) && cnt>0 { useble_clock += 1; } } println!("{}", ans); }