Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <queue>
- #include <map>
- using namespace std;
- typedef long long ll;
- int main() {
- int n, m, K;
- cin >> n >> m >> K;
- vector<int> desired(n);
- vector<int> apartment_size(m);
- for(int i = 0; i < n; i++) {
- cin >> desired[i];
- }
- for(int i = 0; i < m; i++) {
- cin >> apartment_size[i];
- }
- sort(desired.begin(), desired.end());
- sort(apartment_size.begin(), apartment_size.end());
- queue<int> A, B;
- for(int i = 0; i < n; i++) {
- A.push(desired[i]);
- }
- for(int i = 0; i < m; i++) {
- B.push(apartment_size[i]);
- }
- int res = 0;
- while(!A.empty() and !B.empty()) {
- int a = A.front();
- int b = B.front();
- if(abs(a - b) <= K) {
- res++;
- A.pop();
- B.pop();
- }
- else if(a < b) {
- A.pop();
- }
- else {
- B.pop();
- }
- }
- cout << res << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment