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
AC × 16
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