Submission #3808227
Source Code Expand
#include<iostream> #include<iomanip> #include<vector> #include<map> #include<set> #include<algorithm> #include<numeric> #include<limits> #include<bitset> #include<functional> #include<type_traits> #include<queue> #include<stack> #include<array> #include<random> #include<utility> #include<boost/multi_array.hpp> #include<boost/optional.hpp> #include<boost/range/irange.hpp> #include<boost/range/algorithm.hpp> #include<boost/range/adaptors.hpp> #include<boost/range/numeric.hpp> #ifdef _MSC_FULL_VER #include"randomizer.hpp" #include"debug_print.hpp" #endif #include<cstdlib> #include<ctime> namespace lib { template<class T>using pair = std::pair<T, T>; template<class T>constexpr T pow(T base, std::uint64_t p) { T ret = T(1); for (std::uint64_t i = 0; i <= 63; ++i) { if (((1ull << i) & p) != 0) { ret *= base; } base *= base; } return ret; } template<class T>using p_queue = std::priority_queue<T, std::vector<T>, std::greater<>>; struct union_find { std::vector<int> upper; union_find(std::size_t size):upper(size, -1) {} int group(int index) { if (upper[index] == -1) { return index; } else { return upper[index] = group(upper[index]); } } bool merge(int x, int y) { auto gx = group(x); auto gy = group(y); if (gx != gy) { upper[gx] = gy; return true; } return false; } auto get() { std::map<int, std::set<int>> ret; for (int i = 0; i < upper.size(); ++i) { ret[group(i)].emplace(i); } return ret; } auto tops() { std::set<int> ret; for (int i = 0; i < upper.size(); ++i) { ret.emplace(group(i)); } return ret; } bool is_same_group(int x, int y) { return group(x) == group(y); } }; } namespace out { namespace detail { template<class>struct void_out { typedef void type; }; template<class T>auto write(std::ostream& ost, T const& val) ->typename void_out<decltype(ost << val)>::type { ost << val; } template<class T, class... Ts>void write(std::ostream& ost, T const& val, Ts const&... nexts) { write(ost, val); ost << " "; write(ost, nexts...); } } void write_line() { std::cout << std::endl; } template<class...Ts>void write_line(Ts const&... args) { detail::write(std::cout, args...); write_line(); } template<class Range>void write_range(Range const& rng) { for (auto const& v : rng) { write_line(v); } } } namespace adaptor = boost::adaptors; void Main() { double x[3], y[3]; std::cin >> x[0] >> y[0]; std::cin >> x[1] >> y[1]; std::cin >> x[2] >> y[2]; auto ax = x[1] - x[0]; auto bx = x[2] - x[1]; auto cx = x[0] - x[2]; auto ay = y[1] - y[0]; auto by = y[2] - y[1]; auto cy = y[0] - y[2]; auto a = std::sqrt(ax * ax + ay * ay); auto b = std::sqrt(bx * bx + by * by); auto c = std::sqrt(cx * cx + cy * cy); auto s = (a + b + c) / 2; auto S = std::sqrt(s*(s - a)*(s - b)*(s - c)); auto R = S / s; auto max = std::max({ a,b,c }); out::write_line(max*R / (max + 2 * R)); } int main() { std::cin.tie(nullptr); std::cin.sync_with_stdio(false); std::cout << std::fixed << std::setprecision(15); Main(); }
Submission Info
Submission Time | |
---|---|
Task | B - Inscribed Bicycle |
User | plasmaeffect |
Language | C++14 (GCC 5.4.1) |
Score | 500 |
Code Size | 3347 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example0.txt, example1.txt |
All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, example0.txt, example1.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
000.txt | AC | 1 ms | 256 KB |
001.txt | AC | 1 ms | 256 KB |
002.txt | AC | 1 ms | 256 KB |
003.txt | AC | 1 ms | 256 KB |
004.txt | AC | 1 ms | 256 KB |
005.txt | AC | 1 ms | 256 KB |
006.txt | AC | 1 ms | 256 KB |
007.txt | AC | 1 ms | 256 KB |
008.txt | AC | 1 ms | 256 KB |
009.txt | AC | 1 ms | 256 KB |
010.txt | AC | 1 ms | 256 KB |
011.txt | AC | 1 ms | 256 KB |
012.txt | AC | 1 ms | 256 KB |
013.txt | AC | 1 ms | 256 KB |
014.txt | AC | 1 ms | 256 KB |
015.txt | AC | 1 ms | 256 KB |
example0.txt | AC | 1 ms | 256 KB |
example1.txt | AC | 1 ms | 256 KB |