Submission #967488
Source Code Expand
#include "bits/stdc++.h" using namespace std; #define int long long #define DEBUG 0 #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rrep(i,a,b) for(int i=(b)-1;i>=(a);i--) #define all(a) (a).begin(),(a).end() #define dump(o) if(DEBUG){cerr<<#o<<" "<<o<<endl;} #define dumpc(o) if(DEBUG){cerr<<#o; for(auto &e:(o))cerr<<" "<<e;cerr<<endl;} using ll = long long; using ull = unsigned long long; using pii = pair<int, int>; static const int INF = 0x3f3f3f3f; static const long long INFL = 0x3f3f3f3f3f3f3f3fLL; static const int MOD = 1e9 + 7; //最大公約数 int gcd(int x, int y) { return y ? gcd(y, x%y) : x; } //約数を求める 未ソート vector<int> divisor(int x) { vector<int> ret; int i; for (i = 1; i*i < x; i++) { if (x%i)continue; ret.emplace_back(i); ret.emplace_back(x / i); } if (i*i == x)ret.emplace_back(i); return ret; } signed main() { int N, K; cin >> N >> K; vector<int> d = divisor(K); dumpc(d); map<int, int> mp; rep(i, 0, d.size()) { mp[d[i]] = 0; } vector<int> A(N); rep(i, 0, N) { cin >> A[i]; mp[gcd(A[i], K)]++; } ll cnt = 0; rep(i, 0, d.size()) { rep(j, i, d.size()) { if (d[i] * d[j] % K == 0) { if (i == j)cnt += mp[d[i]] * (mp[d[i]] - 1) / 2; else cnt += mp[d[i]] * mp[d[j]]; } } } cout << cnt << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - ロト2 |
User | minaminao |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1364 Byte |
Status | AC |
Exec Time | 127 ms |
Memory | 2048 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 | 2 ms | 256 KB |
00_example_02.txt | AC | 2 ms | 384 KB |
00_example_03.txt | AC | 2 ms | 256 KB |
10_random_01.txt | AC | 3 ms | 256 KB |
10_random_02.txt | AC | 3 ms | 256 KB |
10_random_03.txt | AC | 2 ms | 256 KB |
10_random_04.txt | AC | 3 ms | 384 KB |
10_random_05.txt | AC | 2 ms | 256 KB |
20_max_01.txt | AC | 76 ms | 1920 KB |
20_max_02.txt | AC | 74 ms | 1792 KB |
20_max_03.txt | AC | 94 ms | 1792 KB |
20_max_04.txt | AC | 73 ms | 1920 KB |
20_max_05.txt | AC | 109 ms | 1792 KB |
30_overflow_01.txt | AC | 70 ms | 1792 KB |
30_overflow_02.txt | AC | 70 ms | 1792 KB |
40_dmax_01.txt | AC | 119 ms | 1920 KB |
40_dmax_02.txt | AC | 127 ms | 1920 KB |
40_dmax_03.txt | AC | 119 ms | 2048 KB |
50_prime_01.txt | AC | 76 ms | 1792 KB |
50_prime_02.txt | AC | 86 ms | 1792 KB |
50_prime_03.txt | AC | 95 ms | 1920 KB |
60_prime_pow_01.txt | AC | 95 ms | 1792 KB |
60_prime_pow_02.txt | AC | 93 ms | 1792 KB |
60_prime_pow_03.txt | AC | 93 ms | 1920 KB |
70_one_01.txt | AC | 63 ms | 1792 KB |