用户输出
4.000000000
Special Judge 信息
OK Error:0.00000000000000000000
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#180 | #1030. 1-03E. JM的星系战争 | Accepted | 100 | 1317 ms | 1920 K | C++ 11 / 1.3 K | JM233333 | 2019-06-16 0:36:05 |
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
typedef long long ll;
bool judge();
double binary_search(double left, double right);
bool check(double fuel);
const int MAX = 2e5 + 5;
int a[MAX], b[MAX];
int n, m;
int main() {
// freopen("test.txt", "r", stdin);
while (scanf("%d %d", &n, &m) != EOF) {
// 输入
for (int i = 1; i <= n; i++) {
scanf("%d %d", &a[i], &b[i]);
}
// 无解的情况
if (!judge()) {
printf("-1\n");
continue;
}
// 二分查找
double res = binary_search(0, 1e18);
// 输出
printf("%.9f\n", res);
}
return 0;
}
// 判断是否有解
bool judge() {
for (int i = 1; i <= n; i++) {
if (a[i] == 1 || b[i] == 1)
return false;
}
return true;
}
// 二分查找
double binary_search(double left, double right) {
for (int i = 1; i <= 100; i++) {
double mid = (left + right) / 2;
if (check(mid)) {
right = mid;
} else {
left = mid;
}
}
return left;
}
// check
bool check(double fuel) {
// 遍历
double weight = m + fuel;
for (int i = 1; i <= n; i++) {
// 获取编号
int j = i % n + 1;
// 起飞
fuel -= weight / a[i];
weight = m + fuel;
if (fuel < 0)
return false;
// 着陆
fuel -= weight / b[j];
weight = m + fuel;
if (fuel < 0)
return false;
}
// 返回
return true;
}
用户输出
4.000000000
Special Judge 信息
OK Error:0.00000000000000000000
系统信息
Exited with return code 0
用户输出
-1
Special Judge 信息
OK Error:0.00000000000000000000
系统信息
Exited with return code 0
用户输出
85.480000000
Special Judge 信息
OK Error:0.00000000000000000000
系统信息
Exited with return code 0
用户输出
284.000000000
Special Judge 信息
OK Error:0.00000000000000000000
系统信息
Exited with return code 0
用户输出
159.265077522
Special Judge 信息
OK Error:0.00000047799999999820
系统信息
Exited with return code 0
106 947
647 4
940 883
12 867
102 282
424 472
79 85
762 99
579 583
235 196
263 484
350 69
<835 bytes omitted>
用户输出
2982.034479698
Special Judge 信息
OK Error:0.00000030200000011860
系统信息
Exited with return code 0
520 396
825 67
386 870
498 473
433 81
718 722
183 477
672 826
874 485
468 632
520 833
975
<4474 bytes omitted>
用户输出
1542017.250922980
Special Judge 信息
OK Error:0.00000001999990217882
系统信息
Exited with return code 0
738 169
131 889
340 59
49 946
219 427
861 675
96 195
228 622
215 667
955 476
95 51
810 19
<6391 bytes omitted>
用户输出
4527411.268689637
Special Judge 信息
OK Error:0.00000036299979910837
系统信息
Exited with return code 0
987 682
60 423
401 779
677 116
319 821
919 588
740 251
358 231
274 312
623 796
378 933
18
<8586 bytes omitted>
用户输出
-1
Special Judge 信息
OK Error:0.00000000000000000000
系统信息
Exited with return code 0
473 199
406 734
712 238
564 108
117 841
598 16
48 900
725 705
247 258
929 538
90 627
804
<4052 bytes omitted>
用户输出
-1
Special Judge 信息
OK Error:0.00000000000000000000
系统信息
Exited with return code 0
59750 2281
93567 44021
47430 98340
9559 55192
27106 80521
22955 42810
48320 85590
81770 90294
<763196 bytes omitted>
用户输出
745083116.771251917
Special Judge 信息
OK Error:0.00000391702633351088
系统信息
Exited with return code 0
200000 364
4699406 7476559
3074519 9220641
9953397 4609875
5011840 8555716
9299532 7782002
680
<3363507 bytes omitted>
用户输出
74.385041087
Special Judge 信息
OK Error:0.00000008699999999584
系统信息
Exited with return code 0
23821 7264
75949 33096
91115 42348
81152 81964
27272 91134
28847 96689
86108 29747
30204 5578
<304247 bytes omitted>
用户输出
769628.161872140
Special Judge 信息
OK Error:0.00000013999999737280
系统信息
Exited with return code 0
35768 2145
55319 25036
49408 9299
49217 39951
90958 77142
44396 13466
8576 98650
36023 62002
<456877 bytes omitted>
用户输出
5955028.974810748
Special Judge 信息
OK Error:0.00000025200006348314
系统信息
Exited with return code 0
66177 13
14609 92016
32279 95577
60901 20717
1545 39312
82239 94186
55303 88326
52979 70206
<845575 bytes omitted>
用户输出
29613563.761635292
Special Judge 信息
OK Error:0.00000070799978857394
系统信息
Exited with return code 0
200000 182730
51203472 887121657
889997928 717080718
101945687 541029100
340190334 398852700
41
<4155289 bytes omitted>
用户输出
1033.627691587
Special Judge 信息
OK Error:0.00000041299999997690
系统信息
Exited with return code 0
200000 795860
187377578 44646426
558344784 913526041
339835037 509114477
549140685 797619990
22
<4155454 bytes omitted>
用户输出
5247.484967533
Special Judge 信息
OK Error:0.00000046700000000399
系统信息
Exited with return code 0