Submission #1275928
Source Code Expand
#include <bits/stdc++.h> using namespace std; int main() { int T, H, W; cin >> T; cout << fixed << setprecision(8); while (T--) { cin >> H >> W; if (H > W) swap(H, W); double l = W, r = H * 2; for (int i = 0; i < 1000; i++) { double c = (l + r) / 2; double a = H - sqrt(c * c - W * W); double b = c <= H ? W : W - sqrt(c * c - H * H); if (a * a + b * b > c * c) { l = c; } else { r = c; } } cout << min(sqrt(H * H + W * W / 4.0), l) << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - マッサージチェア2015 |
User | kazuma |
Language | C++14 (GCC 5.4.1) |
Score | 200 |
Code Size | 531 Byte |
Status | AC |
Exec Time | 28 ms |
Memory | 256 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 200 / 200 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_sample.txt, 10_squares.txt, 11_maxw.txt, 12_maxh.txt, 20_corner.txt, 21_corner.txt, 22_corner.txt, 23_corner.txt, 24_corner.txt, 30_small.txt, 40_random.txt, 41_random.txt, 42_random.txt, 50_corner.txt, 51_corner.txt, 52_corner.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample.txt | AC | 1 ms | 256 KB |
10_squares.txt | AC | 28 ms | 256 KB |
11_maxw.txt | AC | 26 ms | 256 KB |
12_maxh.txt | AC | 26 ms | 256 KB |
20_corner.txt | AC | 26 ms | 256 KB |
21_corner.txt | AC | 27 ms | 256 KB |
22_corner.txt | AC | 27 ms | 256 KB |
23_corner.txt | AC | 27 ms | 256 KB |
24_corner.txt | AC | 27 ms | 256 KB |
30_small.txt | AC | 22 ms | 256 KB |
40_random.txt | AC | 26 ms | 256 KB |
41_random.txt | AC | 24 ms | 256 KB |
42_random.txt | AC | 24 ms | 256 KB |
50_corner.txt | AC | 26 ms | 256 KB |
51_corner.txt | AC | 25 ms | 256 KB |
52_corner.txt | AC | 26 ms | 256 KB |