Submission #3585844
Source Code Expand
#include <algorithm> #include <iostream> #include <vector> #include <math.h> #include <set> #include <map> #include <string> #include <stack> #include <queue> #include <iomanip> #include <numeric> #include <tuple> #include <bitset> #include <complex> #include <unistd.h> #include <cassert> #include <cctype> #include <random> #define _USE_MATH_DEFINES #define _GLIBCXX_DEBUG using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> plglg; typedef pair<double, ll> pdlg; typedef tuple<int, int, int> tiii; typedef tuple<ll, ll, ll> tlglglg; typedef tuple<double, double, double> tddd; typedef complex<double> xy_t; int dx[4] = {1, 0, -1, 0}; int dy[4] = {0, 1, 0, -1}; double pi = 3.141592653589793; ll mod = 1000000007; int intmax = 2147483647; int intmin = -2147483648; ll llmax = 9223372036854775807; ll llmin = -9223372036854775807; int iinf = intmax / 8; ll inf = llmax / 8; double eps = 1e-11; ll gcd(ll a, ll b) { return b != 0 ? gcd(b, a % b) : a; } int main() { ll n, k; cin >> n >> k; ll a[n]; for (int i = 0; i < n; i++) { cin >> a[i]; a[i] = gcd(a[i], k); } sort(a, a + n); ll b[n][2]; for (int i = 0; i < n; i++) { fill(b[i], b[i] + 2, 0); } ll mark = 0; b[0][0] = a[0]; b[0][1] = 1; for (int i = 1; i < n; i++) { if (a[i - 1] == a[i]) { b[mark][1]++; } else { mark++; b[mark][0] = a[i]; b[mark][1] = 1; } } ll ans = 0; for (int i = 0; i <= mark; i++) { if ((b[i][0] * b[i][0]) % k == 0) { ans += b[i][1] * (b[i][1] - 1) / 2; } for (int j = i + 1; j <= mark; j++) { if ((b[i][0] * b[j][0]) % k == 0) { ans += b[i][1] * b[j][1]; } } } cout << ans << endl; }
Submission Info
Submission Time | |
---|---|
Task | C - ロト2 |
User | NMLibrary |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1945 Byte |
Status | AC |
Exec Time | 109 ms |
Memory | 4992 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 | 1 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 | 79 ms | 4864 KB |
20_max_02.txt | AC | 75 ms | 4992 KB |
20_max_03.txt | AC | 94 ms | 4864 KB |
20_max_04.txt | AC | 74 ms | 4992 KB |
20_max_05.txt | AC | 109 ms | 4992 KB |
30_overflow_01.txt | AC | 70 ms | 4992 KB |
30_overflow_02.txt | AC | 69 ms | 4992 KB |
40_dmax_01.txt | AC | 108 ms | 4992 KB |
40_dmax_02.txt | AC | 108 ms | 4992 KB |
40_dmax_03.txt | AC | 107 ms | 4992 KB |
50_prime_01.txt | AC | 78 ms | 4992 KB |
50_prime_02.txt | AC | 86 ms | 4992 KB |
50_prime_03.txt | AC | 96 ms | 4992 KB |
60_prime_pow_01.txt | AC | 95 ms | 4992 KB |
60_prime_pow_02.txt | AC | 93 ms | 4992 KB |
60_prime_pow_03.txt | AC | 93 ms | 4992 KB |
70_one_01.txt | AC | 63 ms | 4992 KB |