Submission #8422639
Source Code Expand
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; int init_x_max, init_x_min, init_y_max, init_y_min; init_x_max = init_y_max = INT_MIN; init_x_min = init_y_min = INT_MAX; int h_y_min, h_y_max, v_x_min, v_x_max; h_y_min = v_x_min = INT_MAX; h_y_max = v_x_max = INT_MIN; int up_y_min, up_y_max, down_y_max, down_y_min, l_x_min, l_x_max, r_x_min, r_x_max; up_y_min = down_y_min = l_x_min = r_x_min = INT_MAX; up_y_max = down_y_max = l_x_max = r_x_max = INT_MIN; double ans; for (int i = 0; i < N; i++) { int x, y; char d; cin >> x >> y >>d; init_x_max = max(x, init_x_max); init_x_min = min(x, init_x_min); init_y_max = max(y, init_y_max); init_y_min = min(y, init_y_min); if (d == 'L') { l_x_max = max(x, l_x_max); l_x_min = min(x, l_x_min); } else if (d == 'R') { r_x_max = max(x, r_x_max); r_x_min = min(x, r_x_min); } else if (d == 'U') { up_y_min = min(up_y_min, y); up_y_max = max(up_y_max, y); } else if (d == 'D') { down_y_min = min(down_y_min, y); down_y_max = max(down_y_max, y); } if (d == 'L' || d == 'R') { h_y_max = max(h_y_max, y); h_y_min = min(h_y_min, y); } else { v_x_max = max(v_x_max, x); v_x_min = min(v_x_min, x); } } ans = (long long)(init_x_max - init_x_min) * (init_y_max - init_y_min); vector<double> candidate_time; // y_max if (up_y_max < h_y_max) { candidate_time.push_back(h_y_max - up_y_max); } if (down_y_max > max(h_y_max, up_y_max)) { candidate_time.push_back((down_y_max - up_y_max) / 2.); candidate_time.push_back(down_y_max - h_y_max); } // y_min if (down_y_min > h_y_min) { candidate_time.push_back(down_y_min - h_y_min); } if (up_y_min < min(down_y_min, h_y_min)) { candidate_time.push_back((down_y_min - up_y_min) / 2.); candidate_time.push_back(h_y_min - up_y_min); } // x_max if (r_x_max < v_x_max) { candidate_time.push_back(v_x_max - r_x_max); } if (l_x_max > max(v_x_max, r_x_max)) { candidate_time.push_back(l_x_max - v_x_max); candidate_time.push_back((l_x_max - r_x_max) / 2.); } // x_min if (l_x_min > v_x_min) { candidate_time.push_back(l_x_min - v_x_min); } if (r_x_min < min(l_x_min, v_x_min)) { candidate_time.push_back(v_x_min - r_x_min); candidate_time.push_back((l_x_min - r_x_min) / 2.); } auto calc =[&](double t) { double min_x = min({double(v_x_min), l_x_min - t, r_x_min + t}); double min_y = min({double(h_y_min), up_y_min + t, down_y_min - t}); double max_x = max({double(v_x_max), l_x_max - t, r_x_max + t}); double max_y = max({double(h_y_max), up_y_max + t, down_y_max - t}); ans = min(ans, (max_x - min_x) * (max_y - min_y)); }; for (auto t : candidate_time) { calc(t); } cout << fixed << setprecision(10) << ans << '\n'; }
Submission Info
Submission Time | |
---|---|
Task | F - Minimum Bounding Box |
User | zjsdut |
Language | C++14 (GCC 5.4.1) |
Score | 600 |
Code Size | 3057 Byte |
Status | AC |
Exec Time | 25 ms |
Memory | 256 KiB |
Judge Result
Set Name | All | Sample | ||||
---|---|---|---|---|---|---|
Score / Max Score | 600 / 600 | 0 / 0 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
All | sample_00, sample_01, sample_02, testcase_0_0, testcase_0_1, testcase_0_2, testcase_0_3, testcase_0_4, testcase_0_5, testcase_0_6, testcase_0_7, testcase_0_8, testcase_0_9, testcase_1_0, testcase_1_1, testcase_1_10, testcase_1_11, testcase_1_12, testcase_1_13, testcase_1_2, testcase_1_3, testcase_1_4, testcase_1_5, testcase_1_6, testcase_1_7, testcase_1_8, testcase_1_9, testcase_2_0, testcase_2_1, testcase_3_0, testcase_3_1, testcase_3_2, testcase_3_3, testcase_3_4, testcase_4_0, testcase_5_0, testcase_5_1, testcase_5_10, testcase_5_11, testcase_5_12, testcase_5_13, testcase_5_14, testcase_5_2, testcase_5_3, testcase_5_4, testcase_5_5, testcase_5_6, testcase_5_7, testcase_5_8, testcase_5_9, testcase_6_0, testcase_6_1, testcase_6_2, testcase_6_3, testcase_6_4, testcase_7_0, testcase_7_1, testcase_7_10, testcase_7_11, testcase_7_12, testcase_7_13, testcase_7_14, testcase_7_2, testcase_7_3, testcase_7_4, testcase_7_5, testcase_7_6, testcase_7_7, testcase_7_8, testcase_7_9, testcase_998244353, testcase_pair, testcase_powerful |
Sample | sample_00, sample_01, sample_02 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_00 | AC | 1 ms | 256 KiB |
sample_01 | AC | 1 ms | 256 KiB |
sample_02 | AC | 1 ms | 256 KiB |
testcase_0_0 | AC | 1 ms | 256 KiB |
testcase_0_1 | AC | 1 ms | 256 KiB |
testcase_0_2 | AC | 1 ms | 256 KiB |
testcase_0_3 | AC | 1 ms | 256 KiB |
testcase_0_4 | AC | 1 ms | 256 KiB |
testcase_0_5 | AC | 1 ms | 256 KiB |
testcase_0_6 | AC | 1 ms | 256 KiB |
testcase_0_7 | AC | 1 ms | 256 KiB |
testcase_0_8 | AC | 1 ms | 256 KiB |
testcase_0_9 | AC | 1 ms | 256 KiB |
testcase_1_0 | AC | 1 ms | 256 KiB |
testcase_1_1 | AC | 1 ms | 256 KiB |
testcase_1_10 | AC | 1 ms | 256 KiB |
testcase_1_11 | AC | 1 ms | 256 KiB |
testcase_1_12 | AC | 1 ms | 256 KiB |
testcase_1_13 | AC | 1 ms | 256 KiB |
testcase_1_2 | AC | 1 ms | 256 KiB |
testcase_1_3 | AC | 1 ms | 256 KiB |
testcase_1_4 | AC | 1 ms | 256 KiB |
testcase_1_5 | AC | 1 ms | 256 KiB |
testcase_1_6 | AC | 1 ms | 256 KiB |
testcase_1_7 | AC | 1 ms | 256 KiB |
testcase_1_8 | AC | 1 ms | 256 KiB |
testcase_1_9 | AC | 1 ms | 256 KiB |
testcase_2_0 | AC | 1 ms | 256 KiB |
testcase_2_1 | AC | 1 ms | 256 KiB |
testcase_3_0 | AC | 1 ms | 256 KiB |
testcase_3_1 | AC | 1 ms | 256 KiB |
testcase_3_2 | AC | 1 ms | 256 KiB |
testcase_3_3 | AC | 1 ms | 256 KiB |
testcase_3_4 | AC | 1 ms | 256 KiB |
testcase_4_0 | AC | 15 ms | 256 KiB |
testcase_5_0 | AC | 9 ms | 256 KiB |
testcase_5_1 | AC | 15 ms | 256 KiB |
testcase_5_10 | AC | 14 ms | 256 KiB |
testcase_5_11 | AC | 12 ms | 256 KiB |
testcase_5_12 | AC | 1 ms | 256 KiB |
testcase_5_13 | AC | 11 ms | 256 KiB |
testcase_5_14 | AC | 7 ms | 256 KiB |
testcase_5_2 | AC | 12 ms | 256 KiB |
testcase_5_3 | AC | 7 ms | 256 KiB |
testcase_5_4 | AC | 5 ms | 256 KiB |
testcase_5_5 | AC | 21 ms | 256 KiB |
testcase_5_6 | AC | 10 ms | 256 KiB |
testcase_5_7 | AC | 15 ms | 256 KiB |
testcase_5_8 | AC | 22 ms | 256 KiB |
testcase_5_9 | AC | 7 ms | 256 KiB |
testcase_6_0 | AC | 19 ms | 256 KiB |
testcase_6_1 | AC | 19 ms | 256 KiB |
testcase_6_2 | AC | 19 ms | 256 KiB |
testcase_6_3 | AC | 19 ms | 256 KiB |
testcase_6_4 | AC | 19 ms | 256 KiB |
testcase_7_0 | AC | 1 ms | 256 KiB |
testcase_7_1 | AC | 1 ms | 256 KiB |
testcase_7_10 | AC | 1 ms | 256 KiB |
testcase_7_11 | AC | 1 ms | 256 KiB |
testcase_7_12 | AC | 1 ms | 256 KiB |
testcase_7_13 | AC | 1 ms | 256 KiB |
testcase_7_14 | AC | 1 ms | 256 KiB |
testcase_7_2 | AC | 1 ms | 256 KiB |
testcase_7_3 | AC | 1 ms | 256 KiB |
testcase_7_4 | AC | 1 ms | 256 KiB |
testcase_7_5 | AC | 1 ms | 256 KiB |
testcase_7_6 | AC | 1 ms | 256 KiB |
testcase_7_7 | AC | 1 ms | 256 KiB |
testcase_7_8 | AC | 1 ms | 256 KiB |
testcase_7_9 | AC | 1 ms | 256 KiB |
testcase_998244353 | AC | 25 ms | 256 KiB |
testcase_pair | AC | 1 ms | 256 KiB |
testcase_powerful | AC | 1 ms | 256 KiB |