結果
| 問題 | No.186 中華風 (Easy) |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-01-10 13:01:20 |
| 言語 | Rust (1.92.0 + proconio + num) |
| 結果 |
AC
|
| 実行時間 | 20 ms / 2,000 ms |
| コード長 | 1,432 bytes |
| 記録 | |
| コンパイル時間 | 24,516 ms |
| コンパイル使用メモリ | 416,876 KB |
| 実行使用メモリ | 7,848 KB |
| 最終ジャッジ日時 | 2026-01-10 13:01:49 |
| 合計ジャッジ時間 | 26,523 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
ソースコード
/*
* Author: srtry
* Created: 2026-01-10T00:03:43+09:00
* Coding: utf-8-unix
*/
use proconio::input;
use std::io::{stdout,Write,BufWriter};
use std::mem::swap;
fn main() {
input!{
mut x1:usize, mut y1:usize,
mut x2:usize, mut y2:usize,
mut x3:usize, mut y3:usize,
}
let out = stdout();
let mut out = BufWriter::new(out.lock());
if y1>=y2 {swap( &mut y1, &mut y2); swap( &mut x1, &mut x2);};
if y1>=y3 {swap( &mut y1, &mut y3); swap( &mut x1, &mut x3);};
if y2>=y3 {swap( &mut y2, &mut y3); swap( &mut x2, &mut x3);};
let lcm:usize = {
let mut a:usize = y3.clone();
let mut b:usize = y2.clone();
let mut tmp:usize;
loop {
if a%b == 0 {break;}
tmp = a;
a = b.clone();
b = tmp%a;
}
y2*y3/b
};
let mut flg:bool = true;
let mut p:usize = if x3!=0 {x3} else {y3};
for _ in 0..y2 {
if p%y2 == x2 {
flg = false;
break;
}
p += y3;
}
if flg {
write!(out, "-1", ).unwrap();
return;
}
flg = true;
let mut ans:usize = p;
for _ in 0..y1 {
if ans%y1 == x1 {
flg = false;
break;
}
ans += lcm;
}
if flg {
write!(out, "-1").unwrap();
return
}
write!(out, "{}", ans).unwrap();
}