1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| class Solution { public: map<int,int> mp;
void cnt(int v){ for(int i=1;i<=v/i;i++){ if(v % i == 0){ mp[i] ++; if(i != (v/i)){ mp[v/i] ++; } }
}
} long long numberOfPairs(vector<int>& nums1, vector<int>& nums2, int k) { int n = nums1.size(); int m = nums2.size(); long long res = 0; for(int i=0;i<n;i++){ cnt(nums1[i]); } for(int i=0;i<m;i++){ nums2[i] *= k; } for(int i=0;i<m;i++){ res += mp[ nums2[i] ]; } return res; } };
|