Submission #384335

#TimeUsernameProblemLanguageResultExecution timeMemory
384335AdiZer0Cipele (COCI18_cipele)C++17
90 / 90
69 ms2560 KiB
#include <bits/stdc++.h> #define pb push_back #define whole(x) x.begin(), x.end() #define sz(x) (int)x.size() using namespace std; typedef long long ll; typedef long double ld; const int N = (int)1e5 + 7; const int INF = (int)1e9 + 7; const ll linf = (ll)1e18 + 1; int n, m; int a[N], b[N]; bool ok(int mx) { int p = 1; for (int i = 1; i <= n; ++i) { while (p <= m && abs(a[i] - b[p]) > mx) ++p; if (abs(a[i] - b[p]) > mx) ++p; if (p > m) return false; ++p; } return true; } int main() { scanf ("%d %d", &n, &m); for (int i = 1; i <= n; ++i) scanf ("%d", a + i); for (int i = 1; i <= m; ++i) scanf ("%d", b + i); if (n > m) { for (int i = 1; i <= n; ++i) swap(a[i], b[i]); swap(n, m); } sort(a + 1, a + n + 1); sort(b + 1, b + m + 1); int l = 0, r = (int)1e9; while (r - l > 1) { int mid = l + r >> 1; if (ok(mid)) r = mid; else l = mid; } if (ok(l)) printf ("%d\n", l); else printf ("%d\n", r); return 0; }

Compilation message (stderr)

cipele.cpp: In function 'int main()':
cipele.cpp:42:21: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   42 |         int mid = l + r >> 1;
      |                   ~~^~~
cipele.cpp:31:11: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   31 |     scanf ("%d %d", &n, &m);
      |     ~~~~~~^~~~~~~~~~~~~~~~~
cipele.cpp:32:40: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   32 |     for (int i = 1; i <= n; ++i) scanf ("%d", a + i);
      |                                  ~~~~~~^~~~~~~~~~~~~
cipele.cpp:33:40: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   33 |     for (int i = 1; i <= m; ++i) scanf ("%d", b + i);
      |                                  ~~~~~~^~~~~~~~~~~~~
#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...