QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#333519 | #5593. Food Processor | joelgun14# | AC ✓ | 17ms | 4112kb | C++14 | 1.4kb | 2024-02-20 04:41:20 | 2024-02-20 04:41:20 |
Judging History
answer
#include <bits/stdc++.h>
#define fi first
#define se second
#define bit(x) (1LL << (x))
#define getbit(x, i) (((x) >> (i)) & 1)
#define ALL(x) (x).begin(), (x).end()
using namespace std;
template <typename T1, typename T2> bool maxi(T1 &a, T2 b) {
if (a < b) {a = b; return true;} return false;
}
template <typename T1, typename T2> bool mini(T1 &a, T2 b) {
if (a > b) {a = b; return true;} return false;
}
const int N = 2e5 + 5;
const int oo = 1e9;
const long long ooo = 1e18;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int s, t, n;
cin >> s >> t >> n;
vector <pair <int, int>> a(n);
for (auto &[m, h] : a) {
cin >> m >> h;
}
sort(ALL(a));
int cur = s;
int minh = oo;
double ans = 0;
if (a[n - 1].fi < cur) {
cout << "-1\n";
return 0;
}
for (int i = n - 1; i >= 0; i--) {
if (a[i].fi >= cur) {
mini(minh, a[i].se);
continue;
}
int nex = max(a[i].fi, t);
double x = log(2) / minh;
ans += - log((double) nex/cur) / x;
mini(minh, a[i].se);
cur = nex;
// cerr << a[i].fi << " " << t << " " << cur << " " << nex << "\n";
if (nex == t)
break;
}
if (cur > t) {
double a = log(2) / minh;
ans += - log((double) t/cur) / a;
}
cout << fixed << setprecision(9) << ans << "\n";
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 4028kb
input:
10 1 2 10 10 4 5
output:
23.219280949
result:
ok found '23.21928', expected '23.21928', error '0.00000'
Test #2:
score: 0
Accepted
time: 0ms
memory: 4112kb
input:
10000 9999 1 10000 1
output:
0.000144277
result:
ok found '0.00014', expected '0.00014', error '0.00000'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3532kb
input:
10 1 2 8 10 4 5
output:
-1
result:
ok found '-1.00000', expected '-1.00000', error '-0.00000'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3980kb
input:
8 2 1 8 10
output:
20.000000000
result:
ok found '20.00000', expected '20.00000', error '0.00000'
Test #5:
score: 0
Accepted
time: 12ms
memory: 4092kb
input:
1000000 1 100000 10 10 20 20 30 30 40 40 50 50 60 60 70 70 80 80 90 90 100 100 110 110 120 120 130 130 140 140 150 150 160 160 170 170 180 180 190 190 200 200 210 210 220 220 230 230 240 240 250 250 260 260 270 270 280 280 290 290 300 300 310 310 320 320 330 330 340 340 350 350 360 360 370 370 380 3...
output:
1442798.050879620
result:
ok found '1442798.05088', expected '1442798.05088', error '0.00000'
Test #6:
score: 0
Accepted
time: 12ms
memory: 4048kb
input:
1000000 1 100000 1000000 10 999990 20 999980 30 999970 40 999960 50 999950 60 999940 70 999930 80 999920 90 999910 100 999900 110 999890 120 999880 130 999870 140 999860 150 999850 160 999840 170 999830 180 999820 190 999810 200 999800 210 999790 220 999780 230 999770 240 999760 250 999750 260 99974...
output:
199.315685693
result:
ok found '199.31569', expected '199.31569', error '0.00000'
Test #7:
score: 0
Accepted
time: 0ms
memory: 3968kb
input:
1000000 999999 1 1000000 1
output:
0.000001443
result:
ok found '0.00000', expected '0.00000', error '0.00000'
Test #8:
score: 0
Accepted
time: 0ms
memory: 3984kb
input:
1000000 1 1 1000000 999999
output:
19931548.637755603
result:
ok found '19931548.63776', expected '19931548.63776', error '0.00000'
Test #9:
score: 0
Accepted
time: 17ms
memory: 4036kb
input:
500000 12345 100000 4783 477451 939177 624790 942796 933658 388835 943838 591586 528454 934640 609727 702473 355566 440638 181750 957421 781586 785155 972417 184923 378838 791637 199851 268779 962854 866409 181893 288522 536245 889062 89973 535331 469534 740453 750376 26154 41835 470536 449187 72774...
output:
77.585697003
result:
ok found '77.58570', expected '77.58570', error '0.00000'
Test #10:
score: 0
Accepted
time: 0ms
memory: 3984kb
input:
100 90 2 100 100 50 50
output:
15.200309345
result:
ok found '15.20031', expected '15.20031', error '0.00000'
Test #11:
score: 0
Accepted
time: 11ms
memory: 4000kb
input:
500000 250000 100000 10 10 20 20 30 30 40 40 50 50 60 60 70 70 80 80 90 90 100 100 110 110 120 120 130 130 140 140 150 150 160 160 170 170 180 180 190 190 200 200 210 210 220 220 230 230 240 240 250 250 260 260 270 270 280 280 290 290 300 300 310 310 320 320 330 330 340 340 350 350 360 360 370 370 3...
output:
360678.760246283
result:
ok found '360678.76025', expected '360678.76000', error '0.00000'
Test #12:
score: 0
Accepted
time: 11ms
memory: 4056kb
input:
500000 250000 100000 1000000 10 999990 20 999980 30 999970 40 999960 50 999950 60 999940 70 999930 80 999920 90 999910 100 999900 110 999890 120 999880 130 999870 140 999860 150 999850 160 999840 170 999830 180 999820 190 999810 200 999800 210 999790 220 999780 230 999770 240 999760 250 999750 260 9...
output:
10.000000000
result:
ok found '10.00000', expected '10.00000', error '0.00000'
Test #13:
score: 0
Accepted
time: 16ms
memory: 3992kb
input:
339628 339627 100000 314958 825163 331735 186589 468575 663249 740875 177836 99223 104961 778511 480675 210189 875839 482518 443809 87641 132552 474668 793149 427516 585294 906229 831007 920684 701414 519835 999984 341304 6979 350365 969270 352553 515894 477624 900553 30125 692466 273123 237838 4419...
output:
0.000004248
result:
ok found '0.00000', expected '0.00000', error '0.00000'
Test #14:
score: 0
Accepted
time: 13ms
memory: 3988kb
input:
58690 58689 100000 149735 708833 357922 259234 650012 70684 242115 548483 566886 847642 716712 777996 685242 19268 805841 495873 378117 905396 876590 434890 677706 566233 760475 279669 969442 330292 662696 655431 496751 756379 297105 183079 246584 323524 411462 425463 502636 694072 214804 911995 101...
output:
0.000245818
result:
ok found '0.00025', expected '0.00025', error '0.00000'
Test #15:
score: 0
Accepted
time: 17ms
memory: 3884kb
input:
1000000 1 100000 927995 599233 513186 228014 167807 222161 576118 908019 753981 250002 963061 242671 902375 863934 904166 348093 5688 481133 539986 388979 408766 656716 130393 849902 134919 460875 609606 995320 470760 551884 498983 516924 769086 718544 531463 395229 599005 621028 183982 328716 16152...
output:
-1
result:
ok found '-1.00000', expected '-1.00000', error '-0.00000'