結果

問題 No.3068 Speedrun (Hard)
ユーザー srtry
提出日時 2025-04-29 03:06:44
言語 Rust
(1.83.0 + proconio)
結果
WA  
実行時間 -
コード長 1,293 bytes
コンパイル時間 11,798 ms
コンパイル使用メモリ 400,388 KB
実行使用メモリ 7,848 KB
最終ジャッジ日時 2025-04-29 03:07:07
合計ジャッジ時間 19,700 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 28 WA * 4
権限があれば一括ダウンロードができます
コンパイルメッセージ
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?

ソースコード

diff #

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 {
                break;
            }

            if r!=s {
                // x_dが整数にならないパターン
                if ((tmp1*r) - tmp2)%(r-s)!=0 {
                    continue;
                }
                x_d = ((tmp1*r) - tmp2) / (r-s);
            } else {
                if tmp1*r!=tmp2 {
                    continue;
                }
                x_d = min(r, tmp1);
            }
            x_c = tmp1 - x_d;

            if 0<=x_c && x_c<=c && 0<=x_d && x_d<=d {
                ans = [x_a, x_b, x_c, x_d];
                flag = true;
                break;
            }
        }
        if flag {
            break;
        }
    }
    println!("{} {} {} {}",ans[0],ans[1],ans[2],ans[3]);
}
0