LAOI R1-A
sto_5k_orz · · 题解
官方题解
首先,令
那么
那么
此外,按照
所以答案是
当然也可能是
证明:
不妨设
令
又因为
又因为两个数积相等,差越大和越大,所以上式成立。
考虑
所以
#include<bits/stdc++.h>
using namespace std;
#define gc getchar
#define pc putchar
#define W while
#define I inline
namespace SlowIO{
I int read() {
int x = 0, f = 1; char ch = gc();
W(ch < '0' || ch > '9') {if(ch == '-') f = -f; ch = gc();}
W(ch >= '0' && ch <= '9') x = x * 10 + (ch ^ 48), ch = gc();
return x * f;
}
I void Read(int &x) {x = read();}
I void Read(int &x, int &y) {Read(x), Read(y);}
I void write(int x) {
if(x < 0) pc('-'), x = -x;
if(x > 9) write(x / 10);
pc(x % 10 + '0');
}
I void writeln(int x) {write(x); pc('\n');}
} using namespace SlowIO;
signed main() {
int t; Read(t);
while(t--) {
int n, q; Read(n, q);
while(q--) {
int a, b; Read(a, b); int g = __gcd(a, b);
writeln(a + b - 2 * g);
}
}
return 0;
}