結果
問題 |
No.3068 Speedrun (Hard)
|
ユーザー |
|
提出日時 | 2025-04-29 03:00:53 |
言語 | Rust (1.83.0 + proconio) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,416 bytes |
コンパイル時間 | 11,861 ms |
コンパイル使用メモリ | 398,808 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-04-29 03:01:14 |
合計ジャッジ時間 | 19,578 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 30 WA * 2 |
コンパイルメッセージ
warning: value assigned to `tmp1` is never read --> src/main.rs:12:13 | 12 | let mut tmp1:isize = 0; | ^^^^ | = help: maybe it is overwritten before being read? = note: `#[warn(unused_assignments)]` on by default warning: value assigned to `tmp2` is never read --> src/main.rs:13:13 | 13 | let mut tmp2:isize = 0; | ^^^^ | = help: maybe it is overwritten before being read?
ソースコード
use proconio::input; use std::cmp::min; fn main() { input!{ a:isize, b:isize, c:isize, d:isize, n:isize, p:isize, q:isize, r:isize, s:isize, t:isize, } let mut x_c:isize; let mut x_d:isize; let mut tmp1:isize = 0; let mut tmp2:isize = 0; let mut flag:bool = false; let mut ans:[isize;4] = [10001, 10001, 10001, 10001]; for x_b in 0..=(b as isize) { for x_a in 0..=(a as isize) { tmp1 = n - x_a - x_b; tmp2 = t - (p*x_a) - (q*x_b); if tmp2 < 0 || tmp1 < 0 { break; } if r!=s { // x_dが整数にならないパターン if ((tmp1*r) - tmp2)%(r-s)!=0 { continue; } x_d = ((tmp1*r) - tmp2) / (r-s); x_c = tmp1 - x_d; } else { if tmp1*r!=tmp2 { continue; } x_c = min(r, tmp1); x_d = tmp1 - x_c; } if 0<=x_c && x_c<=c && 0<=x_d && x_d<=d { if x_c*r + x_d*s == tmp2 { ans = [x_a, x_b, x_c, x_d]; flag = true; break; } } } if flag { break; } } println!("{} {} {} {}",ans[0],ans[1],ans[2],ans[3]); }