Submission #2410981
Source Code Expand
#include <iostream> #include <cmath> #include <algorithm> using namespace std; int N; long double H, W; int main() { cin >> N; for (int i = 1; i <= N; i++) { cin >> H >> W; long double L = 0, R = sqrtl(H*H + W*W), M, maxn = 0; for (int j = 0; j < 80; j++) { M = (L + R) / 2; long double P1 = 0; if (M >= H) P1 = sqrtl(M*M - H*H); long double P2 = 0; if (M >= W) P2 = sqrtl(M*M - W*W); long double P3 = sqrtl((W - P1)*(W - P1) + (H - P2)*(H - P2)); maxn = max(maxn, min({ sqrtl(H*H + P1*P1),sqrtl(W*W + P2*P2),P3 })); if (M < P3) { L = M; } else { R = M; } } printf("%.12Lf\n", maxn); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - マッサージチェア2015 |
User | E869120 |
Language | C++14 (GCC 5.4.1) |
Score | 200 |
Code Size | 660 Byte |
Status | AC |
Exec Time | 8 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 | 8 ms | 256 KB |
11_maxw.txt | AC | 8 ms | 256 KB |
12_maxh.txt | AC | 8 ms | 256 KB |
20_corner.txt | AC | 8 ms | 256 KB |
21_corner.txt | AC | 8 ms | 256 KB |
22_corner.txt | AC | 8 ms | 256 KB |
23_corner.txt | AC | 8 ms | 256 KB |
24_corner.txt | AC | 8 ms | 256 KB |
30_small.txt | AC | 7 ms | 256 KB |
40_random.txt | AC | 8 ms | 256 KB |
41_random.txt | AC | 8 ms | 256 KB |
42_random.txt | AC | 8 ms | 256 KB |
50_corner.txt | AC | 8 ms | 256 KB |
51_corner.txt | AC | 8 ms | 256 KB |
52_corner.txt | AC | 8 ms | 256 KB |