提出 #71142094


ソースコード 拡げる

#include <bits/stdc++.h>

typedef long long valueType;
typedef std::vector<valueType> ValueVector;
typedef std::vector<ValueVector> ValueMatrix;
typedef std::vector<ValueMatrix> ValueCube;
typedef std::string string;
typedef std::vector<string> StringVector;
typedef std::vector<bool> bitset;
typedef std::vector<bitset> BitMatrix;
typedef std::pair<valueType, valueType> ValuePair;
typedef std::vector<ValuePair> PairVector;
typedef std::vector<PairVector> PairMatrix;
typedef std::tuple<valueType, valueType, valueType> ValueTuple;
typedef std::vector<ValueTuple> TupleVector;
typedef std::vector<TupleVector> TupleMatrix;
typedef std::set<valueType> ValueSet;
typedef std::map<valueType, valueType> ValueMap;
typedef std::vector<ValueMap> MapVector;

valueType GetDigitCount(valueType x) {
    valueType count = 0;

    while (x > 0) {
        x /= 10;
        ++count;
    }

    return count;
}

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    std::cout.tie(nullptr);

    valueType N, M;

    std::cin >> N >> M;

    ValueVector A(N);

    for (auto &a : A)
        std::cin >> a;

    MapVector Remain(11);

    for (auto const &a : A)
        ++Remain[GetDigitCount(a)][a % M];

    valueType Ans = 0;

    ValueVector Pow10(11, 1);
    for (valueType i = 1; i <= 10; ++i)
        Pow10[i] = (Pow10[i - 1] * 10) % M;

    for (auto const &a : A) {
        for (valueType digi = 1; digi <= 10; ++digi)
            Ans += Remain[digi][(M - (a * Pow10[digi] % M)) % M];
    }

    std::cout << Ans << std::endl;

    return 0;
}

提出情報

提出日時
問題 D - 183183
ユーザ UserUnauthorized
言語 C++23 (Clang 21.1.0)
得点 400
コード長 1632 Byte
結果 AC
実行時間 1856 ms
メモリ 142044 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 4
AC × 25
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 2 ms 3008 KiB
00_sample_01.txt AC 1 ms 3008 KiB
00_sample_02.txt AC 1 ms 3008 KiB
00_sample_03.txt AC 1 ms 3092 KiB
01_random_00.txt AC 1 ms 3036 KiB
01_random_01.txt AC 1 ms 3096 KiB
01_random_02.txt AC 1 ms 3096 KiB
01_random_03.txt AC 1 ms 2996 KiB
01_random_04.txt AC 90 ms 4528 KiB
01_random_05.txt AC 220 ms 33164 KiB
01_random_06.txt AC 80 ms 4188 KiB
01_random_07.txt AC 653 ms 66560 KiB
01_random_08.txt AC 76 ms 4208 KiB
01_random_09.txt AC 1566 ms 126732 KiB
01_random_10.txt AC 92 ms 4416 KiB
01_random_11.txt AC 1856 ms 142044 KiB
01_random_12.txt AC 98 ms 4484 KiB
01_random_13.txt AC 64 ms 13816 KiB
01_random_14.txt AC 60 ms 4116 KiB
01_random_15.txt AC 732 ms 66004 KiB
01_random_16.txt AC 49 ms 3972 KiB
01_random_17.txt AC 55 ms 12628 KiB
01_random_18.txt AC 82 ms 4608 KiB
01_random_19.txt AC 82 ms 4464 KiB
01_random_20.txt AC 17 ms 3284 KiB