Submission #81692

#TimeUsernameProblemLanguageResultExecution timeMemory
81692SaboonCipele (COCI18_cipele)C++14
90 / 90
55 ms5396 KiB
#include <iostream> #include <sstream> #include <queue> #include <stack> #include <vector> #include <cstring> #include <cmath> #include <map> #include <unordered_map> #include <set> #include <algorithm> #include <iomanip> #define F first #define S second #define PB push_back #define PF push_front #define MP make_pair using namespace std; typedef long long ll; typedef long double ld; typedef pair<int,int> pii; const int maxn = 1e5 + 37; int a[maxn], b[maxn]; int n, m; bool check (int x) { int ptr = 1; for (int i = 1; i <= n; i++) { while (ptr <= m and abs (a[i] - b[ptr]) > x) ptr ++; if (ptr > m) return false; ptr ++; } return true; } int main() { ios_base::sync_with_stdio(false); cin >> n >> m; for (int i = 1; i <= n; i++) cin >> a[i]; for (int i = 1; i <= m; i++) cin >> b[i]; if (n > m) { for (int i = 1; i <= n; i++) { int tmp = a[i]; a[i] = b[i]; b[i] = tmp; } swap (n, m); } sort (a + 1, a + n + 1); sort (b + 1, b + m + 1); int lo = -1, hi = 1000 * 1000 * 1000; while (hi - lo > 1) { int mid = (hi + lo) >> 1; if (check (mid)) hi = mid; else lo = mid; } cout << hi << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...