提出 #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 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |