Submission #7805147
Source Code Expand
#include "bits/stdc++.h" using namespace std; void solve() { long n, k; cin >> n >> k; vector<long> fs, cnt; for (long f = 1; f * f <= k; f++) { if (k % f == 0) { fs.push_back(f); if (f * f != k) { fs.push_back(k / f); } } } int m = fs.size(); cnt.resize(m); sort(fs.begin(), fs.end()); for (int i = 0; i < n; i++) { long x; cin >> x; x = __gcd(x, k); cnt[distance(fs.begin(), lower_bound(fs.begin(), fs.end(), x))]++; } long ans = 0; for (int i = 0; i < m; i++) { if (fs[i] * fs[i] % k == 0) { ans += cnt[i] * (cnt[i] - 1) / 2; } for (int j = i + 1; j < m; j++) { if (fs[i] * fs[j] % k == 0) { ans += cnt[i] * cnt[j]; } } } cout << ans << endl; } int main() { solve(); return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - ロト2 |
User | sifi_border |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1046 Byte |
Status | AC |
Exec Time | 108 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt |
All | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 10_random_01.txt, 10_random_02.txt, 10_random_03.txt, 10_random_04.txt, 10_random_05.txt, 20_max_01.txt, 20_max_02.txt, 20_max_03.txt, 20_max_04.txt, 20_max_05.txt, 30_overflow_01.txt, 30_overflow_02.txt, 40_dmax_01.txt, 40_dmax_02.txt, 40_dmax_03.txt, 50_prime_01.txt, 50_prime_02.txt, 50_prime_03.txt, 60_prime_pow_01.txt, 60_prime_pow_02.txt, 60_prime_pow_03.txt, 70_one_01.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_example_01.txt | AC | 1 ms | 256 KB |
00_example_02.txt | AC | 1 ms | 256 KB |
00_example_03.txt | AC | 1 ms | 256 KB |
10_random_01.txt | AC | 1 ms | 256 KB |
10_random_02.txt | AC | 2 ms | 256 KB |
10_random_03.txt | AC | 1 ms | 256 KB |
10_random_04.txt | AC | 1 ms | 256 KB |
10_random_05.txt | AC | 1 ms | 256 KB |
20_max_01.txt | AC | 74 ms | 256 KB |
20_max_02.txt | AC | 71 ms | 256 KB |
20_max_03.txt | AC | 91 ms | 256 KB |
20_max_04.txt | AC | 70 ms | 256 KB |
20_max_05.txt | AC | 106 ms | 256 KB |
30_overflow_01.txt | AC | 67 ms | 256 KB |
30_overflow_02.txt | AC | 67 ms | 256 KB |
40_dmax_01.txt | AC | 108 ms | 256 KB |
40_dmax_02.txt | AC | 108 ms | 256 KB |
40_dmax_03.txt | AC | 108 ms | 256 KB |
50_prime_01.txt | AC | 73 ms | 256 KB |
50_prime_02.txt | AC | 82 ms | 256 KB |
50_prime_03.txt | AC | 92 ms | 256 KB |
60_prime_pow_01.txt | AC | 92 ms | 256 KB |
60_prime_pow_02.txt | AC | 89 ms | 256 KB |
60_prime_pow_03.txt | AC | 89 ms | 256 KB |
70_one_01.txt | AC | 59 ms | 256 KB |