Submission #681540

#TimeUsernameProblemLanguageResultExecution timeMemory
681540Vladth11Cipele (COCI18_cipele)C++14
27 / 90
722 ms5784 KiB
#include <bits/stdc++.h> #pragma GCC optimize("Ofast") #define debug(x) cerr << #x << " " << x << "\n" #define debugs(x) cerr << #x << " " << x << " " using namespace std; typedef pair <int, int> pii; typedef long long ll; const int NMAX = 100001; const int VMAX = 41; const int INF = 1e9; const int MOD = 1000000009; const int BLOCK = 318; const int base = 31; const int nrbits = 21; int a[NMAX], b[NMAX]; int n, m; int f(int poz) { if(poz + m - 1 > n) return 1e9; int maxim = 0; for(int i = 1; i <= m; i++){ maxim = max(maxim, abs(a[i + poz - 1] - b[i])); } return maxim; } bool OK(int x){ set <int> st; int i; for(i = 1; i <= n; i++) st.insert(a[i]); for(i = 1; i <= m; i++){ int nou = b[i] - x; auto it = st.lower_bound(nou); if(it != st.end() && abs((*it) - b[i]) <= x){ st.erase(it); continue; } return 0; } return 1; } int main() { #ifdef HOME ifstream cin(".in"); ofstream cout(".out"); #endif // HOME ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int i; cin >> n >> m; for(i = 1; i <= n; i++) cin >> a[i]; for(i = 1; i <= m; i++) cin >> b[i]; sort(a + 1, a + n + 1); sort(b + 1, b + m + 1); if(m > n){ for(i = 1; i <= m; i++){ swap(a[i], b[i]); } swap(n, m); } int r = 0; int pas = (1 << 30); while(pas){ if(!OK(r + pas)) r += pas; pas /= 2; } if(!OK(r)) r++; cout << r; return 0; }
#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...