提出 #16336990


ソースコード 拡げる

/**
 * Dont raise your voice, improve your argument.
 * --Desmond Tutu
 */

#include <bits/stdc++.h>
using namespace std;

const bool ready = []() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout << fixed << setprecision(12);
    return true;
}();

const double PI = acos(-1);
using ll= long long;
#define int ll
#define all(v) (v).begin(), (v).end()
#define fori(n) for(int i=0; i<int(n); i++)

#define cini(i) int i; cin>>i;
#define cins(s) string s; cin>>s;
#define cind(d) double d; cin>>d;
#define cinai(a,n) vi a(n); fori(n) { cin>>a[i]; }
#define cinas(s,n) vs s(n); fori(n) { cin>>s[i]; }
#define cinad(a,n) vd a(n); fori(n) { cin>>a[i]; }

using pii= pair<int, int>;
using pdd= pair<double, double>;
using vd= vector<double>;
using vb= vector<bool>;
using vi= vector<int>;
using vvi= vector<vi>;
using vs= vector<string>;

#define endl "\n"

set<int> fact(int i) {
    set<int> ans;
    for(int j=2; j*j<=i; j++) {
        while(i%j==0) {
            ans.insert(j);
            i/=j;
        }
    }
    if(i!=1)
        ans.insert(i);
    return ans;
}

void solve() {
    cini(n);
    cinai(a,n);

    int g=a[0];
    int pairwise=true;
    set<int> allf;
    for(int i=0; i<n; i++) {
        if(i>0)
            g=gcd(g,a[i]);

        if(pairwise) {
            set<int> f=fact(a[i]);
            for(int j : f) {
                if(allf.count(j)>0)
                    pairwise=false;
                allf.insert(j);
            }
        }
    }
    if(pairwise)
        cout<<"pairwise coprime"<<endl;
    else if(g==1)
        cout<<"setwise coprime"<<endl;
    else
        cout<<"not coprime"<<endl;

}

signed main() {
    solve();
}

// FIRST THINK, THEN CODE
// DO NOT JUMP BETWEEN PROBLEMS

提出情報

提出日時
問題 E - Coprime
ユーザ spookywooky
言語 C++ (GCC 9.2.1)
得点 500
コード長 1817 Byte
結果 AC
実行時間 472 ms
メモリ 11116 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 500 / 500
結果
AC × 3
AC × 26
セット名 テストケース
Sample sample_01.txt, sample_02.txt, sample_03.txt
All hand_01.txt, max_01.txt, max_02.txt, max_03.txt, max_04.txt, max_05.txt, max_11.txt, max_12.txt, max_13.txt, max_14.txt, max_15.txt, max_16.txt, max_17.txt, max_18.txt, pair_01.txt, pair_02.txt, pair_03.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, sample_01.txt, sample_02.txt, sample_03.txt
ケース名 結果 実行時間 メモリ
hand_01.txt AC 7 ms 3508 KiB
max_01.txt AC 75 ms 11024 KiB
max_02.txt AC 91 ms 11116 KiB
max_03.txt AC 88 ms 11020 KiB
max_04.txt AC 91 ms 11024 KiB
max_05.txt AC 467 ms 7352 KiB
max_11.txt AC 24 ms 4348 KiB
max_12.txt AC 70 ms 10964 KiB
max_13.txt AC 363 ms 6596 KiB
max_14.txt AC 472 ms 7420 KiB
max_15.txt AC 469 ms 7264 KiB
max_16.txt AC 466 ms 7388 KiB
max_17.txt AC 467 ms 7364 KiB
max_18.txt AC 471 ms 7316 KiB
pair_01.txt AC 471 ms 7388 KiB
pair_02.txt AC 472 ms 7328 KiB
pair_03.txt AC 469 ms 7320 KiB
random_01.txt AC 16 ms 3720 KiB
random_02.txt AC 13 ms 3636 KiB
random_03.txt AC 10 ms 3672 KiB
random_04.txt AC 14 ms 3724 KiB
random_05.txt AC 12 ms 3604 KiB
random_06.txt AC 12 ms 3636 KiB
sample_01.txt AC 2 ms 3564 KiB
sample_02.txt AC 2 ms 3548 KiB
sample_03.txt AC 2 ms 3596 KiB