1 solutions
-
0
C++ :
#include <algorithm> #include <cstdio> using namespace std; const int M = 1e5 + 5; int n, p, q; int a, b; int ans; int gcd(int a, int b) { if (!a || !b) return a + b; return gcd(b, a % b); } int main() { scanf("%d%d%d", &n, &p, &q); while (n--) { scanf("%d%d", &a, &b); if (a == b) ans = 0; else if (a == 1 || b == 1) ans = p; else { ans = min(p + p, q + q); if (gcd(a, b) == 1) ans = min(ans, p); else ans = min(ans, q); } printf("%d\n", ans); } return 0; }
Information
- ID
- 156
- Time
- 1000ms
- Memory
- 512MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By