京都大学プログラミングコンテスト2015

Submission #1275928

Source codeソースコード

#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

Task問題 E - マッサージチェア2015
User nameユーザ名 kazuma
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 AC
Score得点 200
Source lengthソースコード長 531 Byte
File nameファイル名
Exec time実行時間 28 ms
Memory usageメモリ使用量 256 KB

Test case

Set

Set name Score得点 / Max score Cases
All 200 / 200 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
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