目錄
Description
有兩個偶數 \(x\ y\),滿足 \(n\%x=y\%n\),求滿足條件的任意 \(n\)
State
\(2<=x,y<=10^9\)
Input
4
4 8
4 2
420 420
69420 42068
Output
4
10
420
9969128
Solution
當 \(x=y\) 時, \(n=x\)
當 \(x>y\) 時,如果 \(n>y\),那么式子左邊,也就是 \(y\%n=y\),易推出 \(n=kx+y\)
當 \(x<y\) 時,這個直推式子就比較麻煩了,但是可以確定 \(n\) 的范圍 \([x,y]\),當 \(y=kx\) 時,\(x=y\);
同時也可以確定余數 \(r\) 的范圍 \([0,x)\),假設 \(kx<y<(k+1)x\),那么 \(n=\frac{kx+y}{2}\),這里建議大家畫一下圖
Code
signed main()
{
// IOS;
rush(){
ll x, y;
sll2(x, y);
if(x == y){
pll(x);
}
else if(x > y){
pll(x + y);
}
else{
ll ans = x;
if(y % x){
ll k = y / x;
ans = k * x + (y - k * x) / 2;
}
pll(ans);
}
}
// PAUSE;
return 0;
}