提出 #36239513


ソースコード 拡げる

#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); i++)
using namespace std;
using ll = long long;
using pii = pair<int, int>;

int main() {
    int n;
    cin >> n;
    vector<int> a(n);
    rep(i, n) cin >> a[i];

    vector<int> c2(n), c3(n);
    map<int, int> mp1;
    rep(i, n) {
        map<int, int> mp2;
        for (int j = 2; j * j <= a[i]; j++) {
            while (a[i] % j == 0) {
                if (j == 2) c2[i]++;
                else if (j == 3) c3[i]++;
                else mp2[j]++;
                a[i] /= j;
            }
        }
        if (a[i] > 1) {
            if (a[i] == 2) c2[i]++;
            else if (a[i] == 3) c3[i]++;
            else mp2[a[i]]++;
        }
        if (i == 0) mp1 = mp2;
        bool ok = true;
        for (auto m : mp1) if (mp2[m.first] != m.second) ok = false;
        for (auto m : mp2) if (mp1[m.first] != m.second) ok = false;
        if (!ok) {
            cout << -1 << endl;
            return 0;
        }
    }

    int mn2 = 100, mn3 = 100;
    rep(i, n) {
        mn2 = min(mn2, c2[i]);
        mn3 = min(mn3, c3[i]);
        //cout << c2[i] << " " << c3[i] << endl;
    }

    int ans = 0;
    rep(i, n) {
        ans += c2[i] - mn2;
        ans += c3[i] - mn3;
    }

    cout << ans << endl;
    return 0;
}

提出情報

提出日時
問題 D - Divide by 2 or 3
ユーザ icchipost
言語 C++ (GCC 9.2.1)
得点 400
コード長 1352 Byte
結果 AC
実行時間 100 ms
メモリ 3592 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 3
AC × 41
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_srnd0_00.txt, 01_srnd0_01.txt, 01_srnd0_02.txt, 02_srnd1_00.txt, 02_srnd1_01.txt, 02_srnd1_02.txt, 02_srnd1_03.txt, 02_srnd1_04.txt, 02_srnd1_05.txt, 02_srnd1_06.txt, 02_srnd1_07.txt, 02_srnd1_08.txt, 02_srnd1_09.txt, 03_rnd0_00.txt, 03_rnd0_01.txt, 03_rnd0_02.txt, 04_rnd1_00.txt, 04_rnd1_01.txt, 04_rnd1_02.txt, 04_rnd1_03.txt, 04_rnd1_04.txt, 04_rnd1_05.txt, 04_rnd1_06.txt, 04_rnd1_07.txt, 04_rnd1_08.txt, 04_rnd1_09.txt, 05_same_00.txt, 05_same_01.txt, 05_same_02.txt, 05_same_03.txt, 05_same_04.txt, 05_same_05.txt, 06_max_00.txt, 06_max_01.txt, 07_ng_00.txt, 07_ng_01.txt, 07_ng_02.txt, 07_ng_03.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 8 ms 3592 KiB
00_sample_01.txt AC 2 ms 3368 KiB
00_sample_02.txt AC 3 ms 3552 KiB
01_srnd0_00.txt AC 2 ms 3556 KiB
01_srnd0_01.txt AC 2 ms 3472 KiB
01_srnd0_02.txt AC 1 ms 3552 KiB
02_srnd1_00.txt AC 2 ms 3396 KiB
02_srnd1_01.txt AC 2 ms 3400 KiB
02_srnd1_02.txt AC 2 ms 3396 KiB
02_srnd1_03.txt AC 2 ms 3372 KiB
02_srnd1_04.txt AC 2 ms 3552 KiB
02_srnd1_05.txt AC 2 ms 3400 KiB
02_srnd1_06.txt AC 2 ms 3552 KiB
02_srnd1_07.txt AC 1 ms 3472 KiB
02_srnd1_08.txt AC 2 ms 3400 KiB
02_srnd1_09.txt AC 2 ms 3444 KiB
03_rnd0_00.txt AC 3 ms 3496 KiB
03_rnd0_01.txt AC 2 ms 3392 KiB
03_rnd0_02.txt AC 2 ms 3388 KiB
04_rnd1_00.txt AC 4 ms 3488 KiB
04_rnd1_01.txt AC 5 ms 3404 KiB
04_rnd1_02.txt AC 3 ms 3452 KiB
04_rnd1_03.txt AC 4 ms 3404 KiB
04_rnd1_04.txt AC 2 ms 3392 KiB
04_rnd1_05.txt AC 3 ms 3388 KiB
04_rnd1_06.txt AC 5 ms 3468 KiB
04_rnd1_07.txt AC 3 ms 3548 KiB
04_rnd1_08.txt AC 4 ms 3384 KiB
04_rnd1_09.txt AC 6 ms 3500 KiB
05_same_00.txt AC 2 ms 3484 KiB
05_same_01.txt AC 2 ms 3384 KiB
05_same_02.txt AC 2 ms 3500 KiB
05_same_03.txt AC 100 ms 3476 KiB
05_same_04.txt AC 2 ms 3548 KiB
05_same_05.txt AC 2 ms 3568 KiB
06_max_00.txt AC 2 ms 3392 KiB
06_max_01.txt AC 3 ms 3500 KiB
07_ng_00.txt AC 4 ms 3496 KiB
07_ng_01.txt AC 2 ms 3572 KiB
07_ng_02.txt AC 2 ms 3556 KiB
07_ng_03.txt AC 4 ms 3384 KiB