Advertisement
Georgiy1108

Решение задачи про какие-то числа

Aug 26th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.61 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. /*
  6. 4 3
  7. 2 4 27 81
  8. 2 3 5
  9. */
  10.  
  11. main()
  12. {
  13.     freopen("in.txt", "r", stdin);
  14.     int n, m;
  15.     cin >> n >> m;
  16.     set<int> a, b;
  17.     int mx = 0;
  18.     for(int i = 0; i < n; i++)
  19.     {
  20.         int c;
  21.         cin >> c;
  22.         mx = max(c, mx);
  23.         a.insert(c);
  24.     }
  25.     for(int i = 0; i < m; i++)
  26.     {
  27.         int c;
  28.         cin >> c;
  29.         b.insert(c);
  30.     }
  31.        
  32.     map<int, int> mp;
  33.     for(int i : b)
  34.     {
  35.         int ch = i;
  36.         int k = 1;
  37.         mp[ch] = 0;
  38.         for(int j = ch; j <= mx; j += ch, k++)
  39.             mp[j] = max(k, mp[j]); 
  40.     }
  41.     int ans = -1;
  42.     for(auto i : a)
  43.         if(mp.count(i) == 1)
  44.             ans = max(ans, mp[i]); 
  45.     cout << ans;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement