fork download
  1. #include <iostream>
  2. #include<bits/stdc++.h>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. typedef long long int ll;
  8.  
  9.  
  10. int main() {
  11. ll n;
  12. cin>>n;
  13. vector<ll> a(n+1);
  14. vector<ll> b(n+1);
  15.  
  16. unordered_map<ll,ll> mpp_1;
  17. unordered_map<ll,ll> mpp_2;
  18.  
  19.  
  20. for(ll i=1;i<=n;i++){
  21. cin>> a[i];
  22. mpp_1[a[i]]++;
  23. }
  24.  
  25. for(int i=1;i<=n;i++){
  26. cin>>b[i];
  27. mpp_2[b[i]]++;
  28.  
  29. }
  30. ll ans = 0;
  31.  
  32. for(auto it : mpp_1){
  33. ll count = 0;
  34. ll num = it.first;
  35. for(int i=num ; i<=1000000 ;i = i+num){
  36.  
  37. if(mpp_2.find(i)!=mpp_2.end()){
  38. count = count + mpp_2[i];
  39. }
  40. }
  41. count = count*it.second;
  42. ans=ans+count;
  43.  
  44.  
  45. }
  46.  
  47. cout<<ans;
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54. return 0;
  55. }
Success #stdin #stdout 0.06s 5288KB
stdin
5
1 2 3 4 5
5 10 20 30 50
stdout
16