diff options
Diffstat (limited to 'cses/SortingAndSearching/Apartments')
| -rwxr-xr-x | cses/SortingAndSearching/Apartments/main | bin | 0 -> 63000 bytes | |||
| -rw-r--r-- | cses/SortingAndSearching/Apartments/main.cpp | 25 | ||||
| -rw-r--r-- | cses/SortingAndSearching/Apartments/main_input0.txt | 3 | ||||
| -rw-r--r-- | cses/SortingAndSearching/Apartments/main_output0.txt | 1 |
4 files changed, 20 insertions, 9 deletions
diff --git a/cses/SortingAndSearching/Apartments/main b/cses/SortingAndSearching/Apartments/main Binary files differnew file mode 100755 index 0000000..946f3f6 --- /dev/null +++ b/cses/SortingAndSearching/Apartments/main diff --git a/cses/SortingAndSearching/Apartments/main.cpp b/cses/SortingAndSearching/Apartments/main.cpp index ce2b1ae..676f338 100644 --- a/cses/SortingAndSearching/Apartments/main.cpp +++ b/cses/SortingAndSearching/Apartments/main.cpp @@ -3,22 +3,29 @@ using namespace std; +#define all(x) (x).begin(), (x).end() + int main () { ios_base::sync_with_stdio(false); cin.tie(NULL); int n, m, k; cin >> n >> m >> k; - vector<int> dsz(n); - for (auto &x : dsz) cin >> x; - vector<int> asz(m); - for (auto &x : asz) cin >> x; set<int> taken; - sort(dsz.begin(), dsz.end()); - sort(asz.begin(), asz.end()); - bool mbigger = m > n; - if (mbigger) { - for (int i = 0; i < m; i++) { + vector<int> v(n); + vector<int> a(m); + for (auto &x : v) cin >> x; + for (auto &x : a) cin >> x; + sort(all(a)); + int ans = 0; + for (int i = 0; i < n; i++) { + auto upper = *upper_bound(all(a), v[i]); + auto lower = *lower_bound(all(a), v[i]); + cerr << upper << " " << lower << "\n"; + if(!taken.count(i) && (upper <= v[i] + k || lower >= v[i] - k)) { + taken.insert(i); + ans++; } } + cout << ans << '\n'; } diff --git a/cses/SortingAndSearching/Apartments/main_input0.txt b/cses/SortingAndSearching/Apartments/main_input0.txt new file mode 100644 index 0000000..c2eddfd --- /dev/null +++ b/cses/SortingAndSearching/Apartments/main_input0.txt @@ -0,0 +1,3 @@ +4 3 5 +60 45 80 60 +30 60 75 diff --git a/cses/SortingAndSearching/Apartments/main_output0.txt b/cses/SortingAndSearching/Apartments/main_output0.txt new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/cses/SortingAndSearching/Apartments/main_output0.txt @@ -0,0 +1 @@ +2 |
