QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#657599 | #6423. Fireworks | LmR308 | AC ✓ | 24ms | 4232kb | C++17 | 1.4kb | 2024-10-19 15:03:24 | 2024-10-19 15:03:25 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int128 __int128_t
#define int long long
#define PII pair<int, int>
#define PDD pair<double, double>
#define fi first
#define se second
#define lowbit(x) x & -x
#define all(x) x.begin(), x.end()
#define INF 0x3f3f3f3f3f3f3f3f
#define ls(x) x << 1
#define rs(x) x << 1 | 1
#define ull unsigned long long
std::mt19937_64 rng(std::chrono::steady_clock::now().time_since_epoch().count());
const int N = 1e6 + 10, M = 5e6 + 10, mod = 998244353;
const double eps = 1e-8;
int t, n, m, k;
string sr;
void solve() {
int p;
cin >> n >> m >> p;
auto cal = [&](int x) {
int res = n * x + m;
double temp = 1 - 1.0 * p / 10000;
double te = 1 - pow(temp, x);
double ans = 1.0 * res / te;
return ans;
};
if (p == 10000) {
cout << 1.0 * (n + m) << "\n";
return;
}
int l = 1, r = 1e9;
while (r > l) {
int mid1 = l + (r - l) / 3, mid2 = r - (r - l) / 3;
if (cal(mid1) < cal(mid2)) r = mid2 - 1;
else l = mid1 + 1;
}
double res = 1.0;
double temp = 1.0 - 1.0 * p / 10000;
res = 1.0 * (n * 1 + m) / (1 - temp);
temp = pow(temp, l);
res = min(res, 1.0 * (n * l + m) / (1 - temp));
cout << res << "\n";
}
signed main() {
cin.tie(nullptr)->sync_with_stdio(false);
cout.setf(ios::fixed), cout.precision(15);
t = 1;
cin >> t;
while (t--) {
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3880kb
input:
3 1 1 5000 1 1 1 1 2 10000
output:
4.000000000000000 10141.585289114695115 3.000000000000000
result:
ok 3 numbers
Test #2:
score: 0
Accepted
time: 0ms
memory: 4176kb
input:
20 10 27 2855 79 59 6888 65 72 7725 78 50 2888 31 21 5759 41 58 6619 47 27 3881 35 55 5095 77 7 6028 17 89 1792 84 60 8604 58 44 4923 88 27 3824 54 63 1482 19 42 5366 93 76 97 100 99 8660 96 36 4343 90 56 9515 24 44 9922
output:
89.729805650548002 200.348432055749129 177.346278317152098 416.839877800354600 90.293453724604973 149.569421362743611 190.672507085802636 164.601521115576929 139.349701393497014 275.133110248423009 167.364016736401652 207.190737355271182 300.732217573221703 589.058848950519405 101.877028212448863 10...
result:
ok 20 numbers
Test #3:
score: 0
Accepted
time: 0ms
memory: 4232kb
input:
10 954269343 987322500 9806 916720797 981711601 9728 902477101 957414437 9250 967013471 988735825 9674 985383693 926528961 9411 970653208 917703218 9331 998423148 911924940 9283 986159007 902133513 9759 953796828 947934512 9959 995334734 931874197 9944
output:
1980003919.029165744781494 1951513567.023026227951050 2010693554.594594478607178 2021655257.390944719314575 2031572260.121134757995605 2023744964.098167419433594 2057899480.771302461624146 1934924193.052566766738892 1909560538.206647157669067 1938062078.640386343002319
result:
ok 10 numbers
Test #4:
score: 0
Accepted
time: 0ms
memory: 4148kb
input:
10 933722894 72 9673 975866948 5 9424 910984544 95 9682 994597175 6 9351 972675086 51 9712 952759975 51 9114 956482031 85 9478 921988922 72 9017 950640658 36 9893 965297247 78 9342
output:
965287879.665046930313110 1035512471.349745273590088 940905431.728981614112854 1063626543.685167312622070 1001518880.766062617301941 1045380761.465876698493958 1009160282.760076045989990 1022500825.108129143714905 960922565.450318455696106 1033287652.536929965019226
result:
ok 10 numbers
Test #5:
score: 0
Accepted
time: 0ms
memory: 4088kb
input:
10 910088095 81 316 970640211 35 537 908853334 41 89 932269507 8 457 953224740 22 113 959834859 69 34 924852390 63 115 952730384 97 382 917634328 91 20 937287266 32 654
output:
28800258734.177249908447266 18075237355.679710388183594 102118356741.572814941406250 20399770568.927806854248047 84356173628.318756103515625 282304390588.238708496093750 80421952434.782928466796875 24940588507.853397369384766 458817209499.999572753906250 14331610061.162076950073242
result:
ok 10 numbers
Test #6:
score: 0
Accepted
time: 0ms
memory: 4044kb
input:
10 968675373 962412132 104 923494255 934310785 381 922721350 957856460 282 978335370 917228676 825 951116860 942542480 359 999013758 972493824 676 930242700 964474169 342 968944030 984608304 520 965837594 909045242 369 990484700 925952624 479
output:
106669104052.294677734375000 31076848077.761096954345703 40771434362.895133972167969 16579259543.363527297973633 33660076568.701904296875000 20209258011.501922607421875 34581380127.395095825195312 24798113234.332942962646484 33145494087.728252410888672 26925682159.120075225830078
result:
ok 10 numbers
Test #7:
score: 0
Accepted
time: 0ms
memory: 4232kb
input:
10 22 972733171 975 22 973609752 512 55 987399854 126 49 967364929 642 23 948126474 513 25 962813818 421 93 933323422 113 58 950364131 647 82 991906690 682 31 957667404 402
output:
972736672.681293368339539 973616306.986935973167419 987457697.396779417991638 967376069.315485358238220 948133283.101613879203796 962822722.647579073905945 933426898.317728161811829 950377057.363343119621277 991923706.585391759872437 957678776.965345501899719
result:
ok 10 numbers
Test #8:
score: 0
Accepted
time: 0ms
memory: 4204kb
input:
10 47 972371220 9743 65 949941115 9400 86 921812690 9736 11 927065494 9182 71 923766617 9378 63 941828720 9029 96 917539847 9084 88 952051332 9499 91 958386812 9427 64 950375055 9887
output:
972371465.901790261268616 949941549.320472836494446 921813131.821226119995117 927065583.858390092849731 923767096.493965983390808 941829231.442622661590576 917540568.647066354751587 952051875.055215239524841 958387391.921013832092285 950375326.495618939399719
result:
ok 10 numbers
Test #9:
score: 0
Accepted
time: 0ms
memory: 4180kb
input:
10 98 46 9403 99 89 9661 80 62 9450 25 20 9283 68 74 9328 54 14 9286 4 80 9574 35 61 9420 77 47 9943 22 9 9358
output:
153.142614059342748 194.596832626022149 150.264550264550280 48.475708283959925 152.229845626072034 73.228516045660129 87.737622728222263 101.910828025477713 124.710851855576792 33.126736482154307
result:
ok 10 numbers
Test #10:
score: 0
Accepted
time: 1ms
memory: 4180kb
input:
10 89 77 65 53 41 913 47 67 488 89 13 267 20 60 427 58 72 690 23 60 677 43 38 775 52 68 343 83 61 805
output:
15149.283838238708995 795.195959678695885 1340.262610317281769 3590.647504732411562 734.463107824570557 1204.044041798926173 568.432537046958601 761.453449761660067 1986.669558374136159 1378.158448339147299
result:
ok 10 numbers
Test #11:
score: 0
Accepted
time: 0ms
memory: 4200kb
input:
20 5 1000000000 4 3 999999979 5 5 1000000000 2 2 999999999 4 3 999999983 1 3 999999984 1 3 999999987 3 3 999999974 1 2 999999998 1 1 999999981 2 4 999999971 4 3 999999992 1 5 999999973 4 4 999999984 4 3 999999972 4 2 999999994 4 2 999999980 5 4 999999970 5 2 999999980 2 4 999999983 4
output:
1000153595.966845989227295 1000078103.937719106674194 1000289896.621388554573059 1000066017.486277937889099 1000342407.043464422225952 1000342408.043494462966919 1000125100.235101819038391 1000342398.043194532394409 1000236387.472664594650269 1000066005.589947819709778 1000125078.477628946304321 100...
result:
ok 20 numbers
Test #12:
score: 0
Accepted
time: 24ms
memory: 4184kb
input:
10000 15 999999991 6 16 999999975 2 12 999999978 9 7 999999993 4 19 999999980 5 20 999999977 5 13 999999995 10 11 999999979 6 19 999999995 5 6 999999982 10 15 999999978 1 2 999999974 5 12 999999980 4 18 999999997 1 12 999999992 10 20 999999970 6 2 999999999 2 13 999999984 1 16 999999984 2 16 9999999...
output:
1000289834.627433776855469 1000834644.980373620986938 1000162916.054420351982117 1000209141.238760352134705 1000424660.557301640510559 1000444958.758943676948547 1000159181.222366809844971 1000218214.149087667465210 1000424675.557871341705322 1000078088.897094845771790 1001470863.708315014839172 100...
result:
ok 10000 numbers
Test #13:
score: 0
Accepted
time: 0ms
memory: 4180kb
input:
50 3 999999983 9 8 999999973 7 6 999999988 9 17 999999995 10 19 999999993 6 13 999999989 6 17 999999995 1 8 999999999 7 9 999999971 3 15 999999986 8 2 1000000000 8 9 999999975 4 8 999999980 2 4 999999970 9 2 999999990 10 8 999999983 3 15 999999985 5 16 999999991 7 20 999999986 5 15 999999990 6 15 99...
output:
1000045336.023082971572876 1000141407.881453156471252 1000086075.416390776634216 1000203604.146658658981323 1000359647.071662425994873 1000254285.628474593162537 1001645751.815485715866089 1000141433.881750226020813 1000342363.795862674713135 1000222739.470001220703125 1000034735.235237717628479 100...
result:
ok 50 numbers