From 95422138588572e08a1ee78e654741874f11cfa0 Mon Sep 17 00:00:00 2001 From: omagdy7 Date: Thu, 10 Nov 2022 16:05:26 +0200 Subject: Added some new problems --- cses/SortingAndSearching/Apartments/main | Bin 0 -> 63000 bytes cses/SortingAndSearching/Apartments/main.cpp | 25 +++++++++++++-------- .../SortingAndSearching/Apartments/main_input0.txt | 3 +++ .../Apartments/main_output0.txt | 1 + 4 files changed, 20 insertions(+), 9 deletions(-) create mode 100755 cses/SortingAndSearching/Apartments/main create mode 100644 cses/SortingAndSearching/Apartments/main_input0.txt create mode 100644 cses/SortingAndSearching/Apartments/main_output0.txt (limited to 'cses/SortingAndSearching/Apartments') diff --git a/cses/SortingAndSearching/Apartments/main b/cses/SortingAndSearching/Apartments/main new file mode 100755 index 0000000..946f3f6 Binary files /dev/null and b/cses/SortingAndSearching/Apartments/main differ 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 dsz(n); - for (auto &x : dsz) cin >> x; - vector asz(m); - for (auto &x : asz) cin >> x; set 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 v(n); + vector 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 -- cgit v1.2.3