Guest User

Untitled

a guest
Jan 16th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. #include <cstdio>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8. int n, a, b;
  9. scanf("%d%d%d", &n, &a, &b);
  10. vector <int> arr1(a);
  11. for (int i = 0; i < a; i++) {
  12. scanf("%d", &arr1[i]);
  13. }
  14. vector <int> arr2(b);
  15. for (int i = 0; i < b; i++) {
  16. scanf("%d", &arr2[i]);
  17. }
  18. sort(arr1.begin(), arr1.end());
  19. sort(arr2.begin(), arr2.end());
  20. int total = 0;
  21. for (int p = 1; p <= n; p++) {
  22. int i = 0;
  23. int j = b - 1;
  24. while (i < a && j >= 0) {
  25. if (p / arr1[i] == p % arr2[j]) {
  26. total++;
  27. break;
  28. }
  29. else if (p / arr1[i] < p % arr2[j]) {
  30. j--;
  31. }
  32. else i++;
  33. }
  34. }
  35. printf("%d", total);
  36. return 0;
  37. }
  38.  
  39. #include <vector>
  40. #include <string>
  41. #include <iostream>
  42. #include <iomanip>
  43. #include <algorithm>
  44.  
  45. using namespace std;
  46.  
  47. int check(int p, const vector<int>& A, const vector<int>& B)
  48. {
  49. for(auto b: B)
  50. {
  51. int z = p%b;
  52. auto r = lower_bound(A.begin(),A.end(),p/(z+1));
  53. for(;r != A.end(); ++r)
  54. {
  55. int a = *r;
  56. if (p/a == z) return 1;
  57. if (a*z > p) break;
  58. }
  59. }
  60. return 0;
  61.  
  62. }
  63.  
  64. int main(int argc, const char * argv[])
  65. {
  66. int n,ca,cb;
  67. cin >> n >> ca >> cb;
  68. vector<int> a(ca),b(cb);
  69. for(int i = 0; i < ca; ++i) cin >> a[i];
  70. for(int i = 0; i < cb; ++i) cin >> b[i];
  71. sort(a.begin(),a.end());
  72. sort(b.begin(),b.end());
  73. int count = 0;
  74. for(int p = 1; p <= n; ++p)
  75. count += check(p,a,b);
  76. cout << count << endl;
  77. }
  78.  
  79. #include <bits/stdc++.h>
  80.  
  81. using namespace std;
  82.  
  83. int main()
  84. {
  85. int n, m, k;
  86. scanf("%d %d %d",&k,&n,&m);
  87. vector <int> a(1 + n);
  88. for (int i = 0;i < n;i++){
  89. scanf("%d",&a[i]);
  90. }
  91. vector <int> b(1 + m);
  92. for (int i = 0;i < m;i++){
  93. scanf("%d", &b[i]);
  94. }
  95. vector <int> v(m);
  96. int pair = 0;
  97. for (int p = 1;p <= k;p++){
  98. for (int i = 0;i < m;i++){
  99. v[i] = p % b[i];
  100. }
  101. sort(v.begin(),v.end());
  102. for (int i = 0; i < n; ++i) {
  103. if (binary_search(v.begin(),v.end(),p / a[i])) {
  104. pair++;
  105. break;
  106. }
  107. }
  108. }
  109. printf("%dn", pair);
  110. return 0;
  111. }
Add Comment
Please, Sign In to add comment