답안 #227892

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
227892 2020-04-29T07:35:23 Z Vimmer Cipele (COCI18_cipele) C++14
90 / 90
54 ms 1152 KB
#include <bits/stdc++.h>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>

//#pragma GCC optimize("unroll-loops")
//#pragma GCC optimize("-O3")
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("fast-math")
//#pragma GCC optimize("no-stack-protector")

#define F first
#define S second
#define sz(x) int(x.size())
#define pb push_back
#define N 100005
#define M ll(1e9 + 7)

using namespace std;

//using namespace __gnu_pbds;

typedef long double ld;

typedef long long ll;

typedef short int si;

//typedef tree<int, null_type, less <int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;



bool mk[N];

vector <int> g, v;

int n, m;

bool gd(int x)
{
    int j = 0;

    for (auto it : g)
    {
        while (j < m && abs(it - v[j]) > x) j++;

        if (j == m) return 0;

        j++;
    }

    return 1;
}

int main()
{
    //freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);

    ios_base::sync_with_stdio(0); istream::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    cin >> n >> m;

    g.resize(n); v.resize(m);

    for (int i = 0; i < n; i++) cin >> g[i];

    for (int i = 0; i < m; i++) cin >> v[i];

    if (n > m) {swap(g, v); swap(n, m);}

    sort(g.begin(), g.end());

    sort(v.begin(), v.end());

    int l = 0, r = 1e9;

    while (l + 1 < r)
    {
        int md = (l + r) >> 1;

        if (gd(md)) r = md; else l = md;
    }

    while (l != 0 && gd(l - 1)) l--;

    while (!gd(l)) l++;

    cout << l << endl;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 36 ms 1152 KB Output is correct
2 Correct 51 ms 1152 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 51 ms 1152 KB Output is correct
2 Correct 51 ms 1152 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 7 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 7 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 384 KB Output is correct
2 Correct 7 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 384 KB Output is correct
2 Correct 7 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 384 KB Output is correct
2 Correct 7 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 54 ms 1024 KB Output is correct
2 Correct 34 ms 888 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 48 ms 1024 KB Output is correct
2 Correct 28 ms 896 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 47 ms 1016 KB Output is correct
2 Correct 44 ms 1024 KB Output is correct