Submission #19007479


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

bool is_feasible(int N, int M, double r, vector<double> &r_vec,
        const vector<vector<double>> &dist)
{
    for (int i = N; i < N + M; ++i)
        r_vec.at(i) = r;
    for (int i = 0; i < N + M; ++i) {
        for (int j = i + 1; j < N + M; ++j) {
            if (r_vec.at(i) + r_vec.at(j) > dist[i][j])
                return false;
        }
    }
    return true;
}

int main()
{
    static const double inf = 1e+5;
    int N, M;
    cin >> N >> M;
    vector<int> x_vec(N + M), y_vec(N + M);
    vector<double> r_vec(N + M, inf);
    for (int i = 0; i < N; ++i)
        cin >> x_vec.at(i) >> y_vec.at(i) >> r_vec.at(i);
    for (int i = N; i < N + M; ++i)
        cin >> x_vec.at(i) >> y_vec.at(i);
    vector<vector<double>> dist(N + M, vector<double>(N + M, inf));
    for (int i = 0; i < N + M; ++i) {
        for (int j = i + 1; j < N + M; ++j) {
            int dx = x_vec.at(i) - x_vec.at(j);
            int dy = y_vec.at(i) - y_vec.at(j);
            dist[i][j] = hypot(dx, dy);
        }
    }
    double ok = 0;
    double ng = *min_element(r_vec.begin(), r_vec.end()) + 1e-6;
    while (abs(ok - ng) > 1e-6) {
        double mid = (ok + ng) / 2;
        if (is_feasible(N, M, mid, r_vec, dist))
            ok = mid;
        else
            ng = mid;
    }
    cout << setprecision(10) << ok << endl;
}

Submission Info

Submission Time
Task B - Emblem
User atug
Language C++ (GCC 9.2.1)
Score 300
Code Size 1373 Byte
Status AC
Exec Time 5 ms
Memory 3920 KiB

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3
Score / Max Score 0 / 0 70 / 70 140 / 140 90 / 90
Status
AC × 4
AC × 3
AC × 8
AC × 13
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
Subtask1 sample_01.txt, sub1_in01.txt, sub1_in02.txt
Subtask2 sample_01.txt, sample_02.txt, sub1_in01.txt, sub1_in02.txt, sub2_in01.txt, sub2_in02.txt, sub2_in03.txt, sub2_in04.txt
Subtask3 sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sub1_in01.txt, sub1_in02.txt, sub2_in01.txt, sub2_in02.txt, sub2_in03.txt, sub2_in04.txt, sub3_in01.txt, sub3_in02.txt, sub3_in03.txt
Case Name Status Exec Time Memory
sample_01.txt AC 5 ms 3644 KiB
sample_02.txt AC 2 ms 3544 KiB
sample_03.txt AC 2 ms 3616 KiB
sample_04.txt AC 2 ms 3584 KiB
sub1_in01.txt AC 2 ms 3724 KiB
sub1_in02.txt AC 2 ms 3540 KiB
sub2_in01.txt AC 2 ms 3572 KiB
sub2_in02.txt AC 2 ms 3792 KiB
sub2_in03.txt AC 2 ms 3640 KiB
sub2_in04.txt AC 2 ms 3768 KiB
sub3_in01.txt AC 5 ms 3876 KiB
sub3_in02.txt AC 4 ms 3920 KiB
sub3_in03.txt AC 3 ms 3912 KiB