結果
| 問題 |
No.2767 Add to Divide
|
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 2025-04-19 23:44:24 |
| 言語 | Go (1.23.4) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 530 bytes |
| コンパイル時間 | 10,488 ms |
| コンパイル使用メモリ | 238,904 KB |
| 実行使用メモリ | 7,848 KB |
| 最終ジャッジ日時 | 2025-04-19 23:44:38 |
| 合計ジャッジ時間 | 11,651 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 12 WA * 4 |
ソースコード
package main
import . "fmt"
func main() {
var t int
Scan(&t)
for ; t>0; t-- {
var a, b int
Scan(&a,&b)
// B + X = c * v
// A + X = v
// B - A = (c - 1) * v
d := b - a
x := int(1e15)
for v := 1; v*v <= d; v++ {
if d % v != 0 {
continue
}
c := d / v + 1
if c * v - b == v - a && v - a >= 0 {
x = min(x, v - a)
}
vv := d / v
cc := d / vv + 1
if cc * vv - b == vv - a && vv - a >= 0 {
x = min(x, vv - a)
}
}
if x < 1e15 {
Println(x)
} else {
Println(-1)
}
}
}
ID 21712