比赛 4043级NOIP2022欢乐赛3rd 评测结果 AAAATTTTTT
题目名称 GCD和LCM问题 最终得分 40
用户昵称 HeSn 运行时间 20.035 s
代码语言 C++ 内存使用 10.69 MiB
提交时间 2022-11-04 19:53:26
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define int long long
  4. const int MAXN = 500010;
  5. int n, m, a[MAXN], b[MAXN];
  6. signed main() {
  7. freopen("gcdlcm.in", "r", stdin);
  8. freopen("gcdlcm.out", "w", stdout);
  9. scanf("%d%d", &n, &m);
  10. for(int i = 1; i <= n; i ++) {
  11. cin >> a[i];
  12. }
  13. for(int i = 1; i <= n; i ++) {
  14. cin >> b[i];
  15. }
  16. for(int i = 1; i <= m; i ++) {
  17. int op, x, y, w;
  18. cin >> op >> x >> y;
  19. if(op == 1) {
  20. cin >> w;
  21. for(int j = x; j <= y; j ++) {
  22. a[j] = w;
  23. }
  24. }
  25. else {
  26. int minn = 1e12;
  27. for(int j = x; j <= y; j ++) {
  28. w = __gcd(a[j], b[j]);
  29. minn = min(minn, a[j] * b[j] / w / w);
  30. }
  31. cout << minn << endl;
  32. }
  33. }
  34. return 0;
  35. }