結果
問題 | No.2259 Gas Station |
ユーザー |
![]() |
提出日時 | 2023-04-07 21:45:53 |
言語 | Rust (1.83.0 + proconio) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,118 bytes |
コンパイル時間 | 12,031 ms |
コンパイル使用メモリ | 379,644 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-10-02 19:19:00 |
合計ジャッジ時間 | 13,306 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 11 WA * 10 |
ソースコード
fn main() {let v: Vec<i64> = read_vec();let l: i64 = v[0];let r: i64 = v[1];let c: i64 = v[2];let d: i64 = 1_000;let mut num: i64 = c % d;let mut count: i64 = 0;let mut mn: i64 = d;let mut seen: Vec<bool> = vec![false; d as usize];while !seen[num as usize] {seen[num as usize] = true;mn = mn.min(d-num);num = (num + c) % d;count += 1;}if r - l >= count {println!("{}", mn);return;}let mut res: i64 = d;num = (l * c) % d;for _ in 0..=r-l {res = res.min((d-num) % d);num = (num + c) % d;}println!("{}", res);}#[allow(dead_code)]fn read_string() -> String {let mut s: String = String::new();std::io::stdin().read_line(&mut s).ok();s.trim().to_string()}#[allow(dead_code)]fn read<T: std::str::FromStr>() -> T {read_string().parse().ok().unwrap()}#[allow(dead_code)]fn read_vec<T: std::str::FromStr>() -> Vec<T> {read_string().split_whitespace().map(|v| v.parse().ok().unwrap()).collect()}