QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#208812#6423. FireworkszzzyzzzAC ✓32ms4068kbC++171.7kb2023-10-09 21:05:132023-10-09 21:05:14

Judging History

你现在查看的是最新测评结果

  • [2023-10-09 21:05:14]
  • 评测
  • 测评结果:AC
  • 用时:32ms
  • 内存:4068kb
  • [2023-10-09 21:05:13]
  • 提交

answer

#include<bits/stdc++.h>
#include<sstream>
#include<cassert>
#define fi first
#define se second
#define i128 __int128
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> PII;
const double eps=1e-6;
const int N=5e5+7 ,M=5e5+7, INF=0x3f3f3f3f,mod=1e9+7,mod1=998244353;
const long long int llINF=0x3f3f3f3f3f3f3f3f;
inline ll read() {ll x=0,f=1;char c=getchar();while(c<'0'||c>'9') {if(c=='-') f=-1;c=getchar();}
while(c>='0'&&c<='9') {x=(ll)x*10+c-'0';c=getchar();} return x*f;}
inline void write(ll x) {if(x < 0) {putchar('-'); x = -x;}if(x >= 10) write(x / 10);putchar(x % 10 + '0');}
inline void write(ll x,char ch) {write(x);putchar(ch);}
void stin() {freopen("in_put.txt","r",stdin);freopen("my_out_put.txt","w",stdout);}
bool cmp0(int a,int b) {return a>b;}
template<typename T> T gcd(T a,T b) {return b==0?a:gcd(b,a%b);}
template<typename T> T lcm(T a,T b) {return a*b/gcd(a,b);}
void hack() {printf("\n----------------------------------\n");}

int T,hackT;
int n,m,k;
int p;

db get(db x) {
	db res1=x*n+m;
	
	db res2=1-pow(1-p*1e-4,x);
	
	// printf("res1 = %.10f,res2 = %.10f\n",res1,res2);
	return res1/res2;
}

void solve() {
	n=read(),m=read(),p=read();
	
	db l=1,r=1e9;
	while(r-l>eps) {
		db lmid=l+(r-l)/3;
		db rmid=r-(r-l)/3;
		// printf("%.10f %.10f\n",rmid,lmid);
		// printf("%.10f %.10f\n",get(rmid),get(lmid));
		if(get(rmid)>=get(lmid)) r=rmid;
		else l=lmid;
	}
	
	double p1=floor(l),p2=ceil(l);
	printf("%.10lf\n",min(get(p1),get(p2)));
}   

int main() {
    // init();
    // stin();
	// ios::sync_with_stdio(false); 

    scanf("%d",&T);
    // T=1; 
    while(T--) hackT++,solve();
    
    return 0;       
}          

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3964kb

input:

3
1 1 5000
1 1 1
1 2 10000

output:

4.0000000000
10141.5852891147
3.0000000000

result:

ok 3 numbers

Test #2:

score: 0
Accepted
time: 1ms
memory: 3968kb

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.7298056505
200.3484320557
177.3462783172
416.8398778004
90.2934537246
149.5694213627
190.6725070858
164.6015211156
139.3497013935
275.1331102484
167.3640167364
207.1907373553
300.7322175732
589.0588489505
101.8770282124
10796.8872669046
229.7921478060
303.9373704812
153.4419337888
68.5345696432

result:

ok 20 numbers

Test #3:

score: 0
Accepted
time: 0ms
memory: 3980kb

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.0291657448
1951513567.0230262280
2010693554.5945944786
2021655257.3909447193
2031572260.1211347580
2023744964.0981674194
2057899480.7713024616
1934924193.0525667667
1909560538.2066471577
1938062078.6403861046

result:

ok 10 numbers

Test #4:

score: 0
Accepted
time: 0ms
memory: 4068kb

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.6650469303
1035512471.3497452736
940905431.7289816141
1063626543.6851673126
1001518880.7660624981
1045380761.4658765793
1009160282.7600759268
1022500825.1081290245
960922565.4503183365
1033287652.5369299650

result:

ok 10 numbers

Test #5:

score: 0
Accepted
time: 0ms
memory: 4044kb

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.1772499084
18075237355.6797103882
102118356741.5728149414
20399770568.9278068542
84356173628.3187561035
282304390588.2387084961
80421952434.7829284668
24940588507.8533973694
458817209499.9995727539
14331610061.1620769501

result:

ok 10 numbers

Test #6:

score: 0
Accepted
time: 1ms
memory: 3936kb

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.2946777344
31076848077.7610969543
40771434362.8951339722
16579259543.3635272980
33660076568.7019042969
20209258011.5019226074
34581380127.3950958252
24798113234.3329429626
33145494087.7282524109
26925682159.1200752258

result:

ok 10 numbers

Test #7:

score: 0
Accepted
time: 1ms
memory: 3944kb

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.6812933683
973616306.9869359732
987457697.3967794180
967376069.3154853582
948133283.1016138792
962822722.6475790739
933426898.3177281618
950377057.3633431196
991923706.5853917599
957678776.9653455019

result:

ok 10 numbers

Test #8:

score: 0
Accepted
time: 1ms
memory: 4064kb

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.9017902613
949941549.3204728365
921813131.8212261200
927065583.8583900928
923767096.4939659834
941829231.4426226616
917540568.6470663548
952051875.0552152395
958387391.9210138321
950375326.4956189394

result:

ok 10 numbers

Test #9:

score: 0
Accepted
time: 1ms
memory: 3948kb

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.1426140593
194.5968326260
150.2645502646
48.4757082840
152.2298456261
73.2285160457
87.7376227282
101.9108280255
124.7108518556
33.1267364822

result:

ok 10 numbers

Test #10:

score: 0
Accepted
time: 0ms
memory: 3884kb

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.2838382387
795.1959596787
1340.2626103173
3590.6475047324
734.4631078246
1204.0440417989
568.4325370470
761.4534497617
1986.6695583741
1378.1584483391

result:

ok 10 numbers

Test #11:

score: 0
Accepted
time: 0ms
memory: 3968kb

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.9668459892
1000078103.9377191067
1000289896.6213885546
1000066017.4862779379
1000342407.0434644222
1000342408.0434944630
1000125100.2351018190
1000342398.0431945324
1000236387.4726645947
1000066005.5899478197
1000125078.4776289463
1000342416.0437343121
1000153568.9665086269
1000125091.477...

result:

ok 20 numbers

Test #12:

score: 0
Accepted
time: 32ms
memory: 3916kb

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.6274337769
1000834644.9803736210
1000162916.0544203520
1000209141.2387603521
1000424660.5573016405
1000444958.7589436769
1000159181.2223668098
1000218214.1490876675
1000424675.5578713417
1000078088.8970948458
1001470863.7083150148
1000053678.6490806341
1000342357.1715583801
1001732290.589...

result:

ok 10000 numbers

Test #13:

score: 0
Accepted
time: 1ms
memory: 3972kb

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.0230829716
1000141407.8814531565
1000086075.4163907766
1000203604.1466586590
1000359647.0716624260
1000254285.6284745932
1001645751.8154857159
1000141433.8817502260
1000342363.7958626747
1000222739.4700012207
1000034735.2352377176
1000263227.6511912346
1000445022.5312680006
1000059162.747...

result:

ok 50 numbers