2 条题解

  • 0
    @ 2026-1-28 13:54:16

    有1就寄了,不然的话互质想质数,观察一下数据最大1e9,但是我可以超过1e9,那随便找个大于1e9的质数秒了

    #include<bits/stdc++.h>
    using namespace std;
    
    void sol(){
        int n; cin >> n;
        int p = 1e9 + 7, t;
        while(n --) cin >> t, t == 1 ? p = -1 : 1;
        cout << p << endl;
    }
    
    int main(){
        int t; cin >> t;
        while(t --)
            sol();
        return 0;
    }
    
    • 0
      @ 2025-12-16 14:01:28

      构造,数论

      如果数组中有 1 ,那么肯定无解。

      否则,一个很大的质数肯定不会是数组中的数的倍数,因此我们选择一个比较大的质数即可。

      时间复杂度 O(n)O(n)

      #include<bits/stdc++.h>
       
      using namespace std;
       
      int main(){
          int T;
          cin >> T;
          while(T--){
              int n;
              cin >> n;
              int ans = 1e9 + 7;
              for(int i = 1; i <= n; i++){
                  int x;
                  cin >> x;
                  if(x == 1) ans = -1;
              }
              cout << ans << endl;
          }
      }
      
      • 1

      信息

      ID
      157
      时间
      1000ms
      内存
      256MiB
      难度
      3
      标签
      递交数
      86
      已通过
      19
      上传者