QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#528466#8266. Astronomerktq_cpp8 1999ms4220kbC++142.7kb2024-08-23 14:43:442024-08-23 14:43:44

Judging History

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

  • [2024-08-23 14:43:44]
  • 评测
  • 测评结果:8
  • 用时:1999ms
  • 内存:4220kb
  • [2024-08-23 14:43:44]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
#define repe(i,l,r) for(int (i)=l;(i)<=r;(i)++)
#define rep(i,n) for(int (i)=1;(i)<=n;(i)++)
#define FOR(i,r,l) for(int (i)=r;(i)>=l;(i)--)
#define INF 0x3f3f3f
#define pii pair<int,int>
#define mpr make_pair
#define pb push_back
#define ALL(v) (v).begin(),(v).end()
#define rsort(v) sort(ALL(v),greater<int>())
#define lb(v,x) (int)(lower_bound(ALL(v),x)-v.begin())
#define ub(v,x) (int)(upper_bound(ALL(v),x)-v.begin())
#define uni(v) v.resize(unique(ALL(v))-v.begin())
using namespace std;
int read(){int sum=0,f=1;char c;c=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9'){sum=(sum<<1)+(sum<<3)+(c-'0');c=getchar();}return sum*f;}
void out(int x){if(x<0){x=-x;putchar('-');}if(x>=10)out(x/10);putchar(x%10+'0');}
template <typename T>void die(T s){cout<<s<<endl;exit(0);}
int fast(int a,int b,int P){int res=1;if(P<=0){while(b){if(b&1)res=res*a;a=a*a;b>>=1;}}else{while(b){if(b&1)res=res*a%P;a=a*a%P;b>>=1;}}return res;}
template <typename T>void chkmax(T& a,T b){if(a<b)a=b;return;}
template <typename T>void chkmin(T& a,T b){if(a>b)a=b;return;}
int k,n,cost1,cost2;
struct Point{
	double x,y;
}a[705];
double val[705];
double ansx,ansy;
double ans;
double calc(double x,double y){
	double res=sqrt(x*x+y*y)*cost1;
	for(int i=1;i<=n;i++){
		val[i]=sqrt((x-a[i].x)*(x-a[i].x)+(y-a[i].y)*(y-a[i].y));
	}
	nth_element(val+1,val+k,val+n+1);
	res+=val[k]*cost2;
	return res;
}
const int inf=1e10;
void work(){
	double T=2605;
	double x=ansx,y=ansy;
	while(T>1e-15){
		double nx=(rand()*2-RAND_MAX)*T+x;
		double ny=(rand()*2-RAND_MAX)*T+y;
		double now=calc(nx,ny);
		double de=now-ans;
		if(de<0){
			ansx=x=nx,ansy=y=ny,ans=now;
		}
		else if(exp(-de/T)*RAND_MAX>=1.0*rand()){
			x=nx,y=ny;
		}
		T*=0.9972;
	}
	return;
}
int X[705],Y[705];
signed main(){
	k=read(),n=read(),cost1=read(),cost2=read();
	if(cost1==0)srand(2741);
	else srand(1441);
	rep(i,n){
		X[i]=a[i].x=read(),Y[i]=a[i].y=read();
		ansx+=(double)a[i].x,ansy+=(double)a[i].y;
	}
	if(cost1==0){
		if(*max_element(X+1,X+n+1)==*min_element(X+1,X+n+1)){
			ans=calc(0,0);
			sort(Y+1,Y+n+1);
			for(int i=1;i<=n-k+1;i++)chkmin(ans,calc(a[1].x,(double)(Y[i+k-1]+Y[i])/2.0));
			printf("%.6lf\n",ans);
			return 0;
		}
		if(*max_element(Y+1,Y+n+1)==*min_element(Y+1,Y+n+1)){
			ans=calc(0,0);
			sort(X+1,X+n+1);
			for(int i=1;i<=n-k+1;i++)chkmin(ans,calc((double)(X[i+k-1]+Y[i])/2.0,a[1].y));
			printf("%.6lf\n",ans);
			return 0;
		}
	}
	ansx=ansx/n,ansy=ansy/n;
	ans=calc(ansx,ansy);
	int st=clock();
	while(1.0*(clock()-st)/CLOCKS_PER_SEC<=1.95)work();
	printf("%.6lf\n",ans);
	return 0;
}

詳細信息

Subtask #1:

score: 8
Accepted

Test #1:

score: 8
Accepted
time: 1953ms
memory: 4200kb

input:

5 50 100 10
83800992 -886133390
419292091 -739946592
23316601 -533703422
728805984 890308742
-66894195 66628784
154560403 -595148422
-827958439 928301296
849961738 946067907
310878751 -114000318
871656204 66733904
-791356839 125420374
-838471381 157736324
-911519472 -679917398
816843257 -363318953
-...

output:

4930145422.652518

result:

ok found '4930145422.6525183', expected '4930145422.6525173', error '0.0000000'

Test #2:

score: 8
Accepted
time: 1952ms
memory: 4216kb

input:

10 50 100 10
-793680088 284470669
115693879 -170843456
-154728667 217328790
907384174 843374520
253755807 -38186295
-381212540 -292308497
-867806770 -491743910
-913208139 289193728
195163552 -826028088
-877650578 -170991023
568907081 -881381181
-199872307 265851943
589436960 69367477
-611624975 1225...

output:

4803824081.621334

result:

ok found '4803824081.6213341', expected '4803824081.6213350', error '0.0000000'

Test #3:

score: 8
Accepted
time: 1947ms
memory: 4060kb

input:

20 50 100 100
187033242 -158211473
423007364 -836894730
-907522970 960081589
-480988812 653654390
597700121 -67379126
-460065669 -241034985
913656927 -606901580
-200092163 -116008540
573697247 -406354383
317815409 37136086
-865167374 -612614868
-9287623 170008780
-819856 614614372
-709291610 -711283...

output:

63648024908.391785

result:

ok found '63648024908.3917847', expected '63648024908.3917999', error '0.0000000'

Test #4:

score: 8
Accepted
time: 1954ms
memory: 4148kb

input:

20 50 1000000000 1000000000
347048005 -530364556
-904966175 -633735536
396657069 818647482
569030381 446734190
-656658950 -638699736
253688651 -31470973
85886754 807760345
-248598849 -277622783
-64735947 66844493
-890915586 -244816739
-488396456 -969658430
664980418 -352719175
-960264172 611250021
4...

output:

704682191270370944.000000

result:

ok found '704682191270370944.0000000', expected '704682191270371200.0000000', error '0.0000000'

Test #5:

score: 8
Accepted
time: 1953ms
memory: 4220kb

input:

10 50 10 2
0 -21855775
0 -15981466
0 -16102820
0 -7780900
0 74497379
0 -40221537
0 -89726059
0 52785260
0 86230474
0 70697695
0 -80396368
0 86433127
0 -22696494
0 -54630396
0 29917934
0 -5750238
0 30414580
0 -17223080
0 -41581695
0 13697626
0 64151962
0 -10413226
0 -24542977
0 -33200412
0 -66362775
...

output:

31962932.000000

result:

ok found '31962932.0000000', expected '31962932.0000000', error '0.0000000'

Test #6:

score: 8
Accepted
time: 1952ms
memory: 4136kb

input:

10 50 20 3
-54614756 0
54949544 0
96550412 0
38271729 0
-35136806 0
-92782941 0
30777752 0
-82904205 0
4689998 0
-91407242 0
97692736 0
-7455904 0
-6467000 0
-2811702 0
-28270423 0
96066983 0
-52546488 0
21369820 0
52638665 0
62720370 0
44623271 0
72875104 0
57256607 0
-64867652 0
-19068967 0
142894...

output:

50675835.000000

result:

ok found '50675835.0000000', expected '50675835.0000000', error '0.0000000'

Test #7:

score: 8
Accepted
time: 1952ms
memory: 4192kb

input:

10 50 40 8
12345 -52897048
12345 -88342117
12345 -70698612
12345 59534976
12345 -10071874
12345 -46454456
12345 -8778454
12345 33361098
12345 45415305
12345 -20707863
12345 -35952217
12345 97544665
12345 -27016480
12345 -94696906
12345 92805171
12345 -23291640
12345 87319050
12345 -89851825
12345 64...

output:

165662933.437903

result:

ok found '165662933.4379030', expected '165662933.4379022', error '0.0000000'

Test #8:

score: 8
Accepted
time: 1951ms
memory: 4136kb

input:

10 50 80 4
-66610775 54321
-51714569 54321
66822467 54321
-98768070 54321
-65322728 54321
87093234 54321
-46782416 54321
-83441680 54321
42037863 54321
42415504 54321
-80735005 54321
-45311373 54321
-52041933 54321
69039381 54321
74795305 54321
11699205 54321
62686218 54321
-97355638 54321
-82839140...

output:

145213750.561614

result:

ok found '145213750.5616140', expected '145213750.5616131', error '0.0000000'

Test #9:

score: 8
Accepted
time: 1954ms
memory: 4144kb

input:

10 50 50 27
4043107 -4042907
7200519 -7200319
-6116699 6116899
-4124247 4124447
6438015 -6437815
-8254791 8254991
-1974217 1974417
7542063 -7541863
-1546732 1546932
-539320 539520
-5158206 5158406
1377811 -1377611
-7606954 7607154
1705751 -1705551
9238418 -9238218
-772806 773006
7984019 -7983819
-85...

output:

52606194.831803

result:

ok found '52606194.8318030', expected '52606194.8318030', error '0.0000000'

Test #10:

score: 8
Accepted
time: 1954ms
memory: 3968kb

input:

10 50 33 27
3711782 3711782
-2567030 -2567030
3945872 3945872
3622687 3622687
8906914 8906914
-9014274 -9014274
-5514887 -5514887
6198091 6198091
-1558344 -1558344
6281940 6281940
2751778 2751778
7991511 7991511
-6015675 -6015675
-2486513 -2486513
-9506702 -9506702
6962924 6962924
-2098352 -2098352
...

output:

103995358.206868

result:

ok found '103995358.2068680', expected '103995358.2068674', error '0.0000000'

Test #11:

score: 8
Accepted
time: 1954ms
memory: 4140kb

input:

50 499 100 10
-268214856 -800550919
411903188 -773971831
769567597 -734212705
-55581201 -530714034
835073201 -469918138
-367731605 691744277
844219796 994636033
-488959612 991190069
-588779840 21455475
66709215 657587786
518510010 -907735337
-306396571 -841924090
477919418 633359061
-616931925 43650...

output:

3297867943.060805

result:

ok found '3297867943.0608048', expected '3297867943.0608034', error '0.0000000'

Test #12:

score: 8
Accepted
time: 1999ms
memory: 4204kb

input:

123 700 1 1
-130217424 130178396
983638709 951624594
-705968414 -584363904
13397284 -264504876
542587735 -308733346
-725129540 617076360
-297045783 -657399802
-419571135 -100163679
709956915 -100502349
685096022 110787513
-919031164 -115362050
-565393527 -644276267
-699150354 -350670646
829034378 -3...

output:

435190829.081272

result:

ok found '435190829.0812720', expected '435190829.0812722', error '0.0000000'

Test #13:

score: 8
Accepted
time: 1953ms
memory: 4180kb

input:

2 3 1000 500
0 0
2 0
3 1

output:

1000.000003

result:

ok found '1000.0000030', expected '1000.0000000', error '0.0000000'

Subtask #2:

score: 0
Wrong Answer

Test #14:

score: 9
Accepted
time: 1954ms
memory: 4132kb

input:

50 50 0 100
-636373727 151906670
-436420422 -967929931
-946894101 -648810265
-318412226 -368156635
608567780 -787997497
40618170 966479708
-451370311 -406325088
830840722 -678655131
-89071166 -21371001
60891837 -615893965
785687617 -623669416
-513873386 -653229486
-555272924 350850129
-901712781 -32...

output:

128592913283.548859

result:

ok found '128592913283.5488586', expected '128592913281.7085724', error '0.0000000'

Test #15:

score: 9
Accepted
time: 1956ms
memory: 4192kb

input:

50 50 0 10
624464843 121500607
-206465305 -905385634
-765814246 -146012797
-557175099 -747718836
136180639 -169689168
-331428390 84078596
-690310101 739208848
-524036571 962734369
-765174210 -838357934
-969321787 284950000
755403064 -828757311
465804785 -169146067
222259850 582616485
505942901 59454...

output:

11644504812.490440

result:

ok found '11644504812.4904404', expected '11644504812.3244057', error '0.0000000'

Test #16:

score: 9
Accepted
time: 1953ms
memory: 4208kb

input:

50 50 0 10
13328494 39038248
-554456314 609093086
369852928 -372339215
165892056 768625583
294273788 904888183
-494279905 -720924839
241356071 -753484597
-877352522 663261124
690942800 -852479432
426347566 -381783277
-59808929 -279431596
906503102 112199917
-109743903 -701106141
717966296 -728674526...

output:

11992823887.149981

result:

ok found '11992823887.1499805', expected '11992823887.1499786', error '0.0000000'

Test #17:

score: 9
Accepted
time: 1949ms
memory: 4208kb

input:

50 50 0 100
-121587612 791174126
-125163976 -719412986
-407037515 -956245822
492803155 -317493695
-210080658 -39086682
-776432439 -934796497
985604379 -237203072
295029306 -336075564
-736744824 156771743
-105459969 308040089
-753379106 -739598927
899521584 -143473313
-381438827 -704518112
11687257 -...

output:

125295010405.071045

result:

ok found '125295010405.0710449', expected '125295010396.1407623', error '0.0000000'

Test #18:

score: 9
Accepted
time: 1952ms
memory: 4060kb

input:

50 50 0 100
818353651 426069138
783546058 -787452456
590000951 -341867194
-660111503 -971706090
-861022666 -190425709
-524129330 242862802
-396453042 985871254
152158681 347688488
517182181 145923337
-119201923 -244725234
-424300110 345262868
522375286 -234016584
-394061788 -427361483
785883759 -790...

output:

126290914806.824631

result:

ok found '126290914806.8246307', expected '126290914787.8511353', error '0.0000000'

Test #19:

score: 9
Accepted
time: 1955ms
memory: 4208kb

input:

50 50 0 1000000000
-929405805 -1096501
-590638646 -856552912
875588765 -222410459
157490234 -235422208
830143148 412624845
-703630977 -151249145
-642808888 -196683976
871674599 573406178
-248447624 80247784
-643993818 279311572
982755173 790130732
560659641 173240542
-586581095 283377018
-306924414 ...

output:

1195022249023873280.000000

result:

ok found '1195022249023873280.0000000', expected '1195022249023872768.0000000', error '0.0000000'

Test #20:

score: 9
Accepted
time: 0ms
memory: 3832kb

input:

50 50 0 2
0 69474256
0 57785761
0 32598039
0 -65299831
0 -3070853
0 84570631
0 31492570
0 64233030
0 79996478
0 85805700
0 -5437708
0 -64211008
0 83171956
0 50340312
0 28086532
0 -4612958
0 -16108181
0 10644005
0 91229400
0 40164386
0 81206026
0 20618946
0 25794990
0 58666350
0 -24678408
0 -38951299...

output:

187208626.000000

result:

ok found '187208626.0000000', expected '187208626.0000000', error '0.0000000'

Test #21:

score: 0
Wrong Answer
time: 0ms
memory: 3888kb

input:

50 50 0 3
49638070 0
-526169 0
36358384 0
96149265 0
25863118 0
6493363 0
-735999 0
-45011107 0
48912966 0
-14421712 0
6099615 0
-1636303 0
2427806 0
61619014 0
22686754 0
-14018835 0
9578678 0
89352941 0
34474354 0
50331772 0
-19320513 0
60232383 0
-1387044 0
-11082509 0
-31790349 0
-80000090 0
297...

output:

288447795.000000

result:

wrong answer 1st numbers differ - expected: '269998346.9999999', found: '288447795.0000000', error = '0.0683317'

Subtask #3:

score: 0
Skipped

Dependency #2:

0%

Subtask #4:

score: 0
Skipped

Dependency #2:

0%

Subtask #5:

score: 0
Skipped

Dependency #4:

0%

Subtask #6:

score: 0
Wrong Answer

Test #214:

score: 15
Accepted
time: 1951ms
memory: 4188kb

input:

5 50 100 10
460309761 -799742665
-100987677 761175444
-361900447 -449675625
-631196407 -1559607
-721861391 643436364
-122962913 5884730
295248578 491223378
986298998 468191512
-169039995 374919122
-46710929 402201182
-943494268 -547915393
521170382 929707215
355890998 688700401
-264192618 -469266213...

output:

3882365967.121799

result:

ok found '3882365967.1217990', expected '3882365967.1217990', error '0.0000000'

Test #215:

score: 15
Accepted
time: 1951ms
memory: 4120kb

input:

10 50 100 10
-59322388 -550771605
390341986 606931103
-871418394 -988685394
580794497 -673520982
343709833 -956039479
801247869 439625461
1589381 489746876
-665908093 867949899
-814872010 -882744429
972183850 -174063671
-943257937 -948482354
661478192 -170778975
168727345 625941217
886063094 6424373...

output:

6482833671.244313

result:

ok found '6482833671.2443132', expected '6482833671.2443123', error '0.0000000'

Test #216:

score: 15
Accepted
time: 1956ms
memory: 4208kb

input:

20 50 100 100
172256526 346633307
259229223 982272224
-14693453 726686801
112585283 412740894
-612981746 330560232
414925589 952297853
755222897 -470278963
-980948426 -178972652
-824953309 -812890315
-898120945 157273649
303641707 -605295618
604348064 -811746991
-588454314 639747671
-26677205 -49086...

output:

78688279609.223190

result:

ok found '78688279609.2231903', expected '78688279609.2232208', error '0.0000000'

Test #217:

score: 15
Accepted
time: 1953ms
memory: 4156kb

input:

10 50 10 2
0 -35903531
0 -55854088
0 -25941394
0 89068915
0 -7247589
0 -64772890
0 -80596681
0 92477857
0 48897135
0 48388667
0 79862347
0 -34613254
0 -84838669
0 71155967
0 -47166258
0 87774674
0 -66532036
0 6427675
0 71979570
0 66924791
0 77107874
0 -33156614
0 28490657
0 -90526831
0 83631701
0 -1...

output:

58462844.000000

result:

ok found '58462844.0000000', expected '58462844.0000000', error '0.0000000'

Test #218:

score: 15
Accepted
time: 1952ms
memory: 4052kb

input:

10 50 20 3
-57784739 0
32680665 0
-40372843 0
-38112740 0
-27483733 0
49180445 0
-33865310 0
-93275213 0
14582688 0
49726688 0
23692784 0
5079108 0
21787036 0
-55152691 0
-58030794 0
-52226157 0
-9501633 0
60816120 0
-23437675 0
47108333 0
50375350 0
-26261536 0
-45729813 0
53836456 0
58692596 0
-61...

output:

66153075.000000

result:

ok found '66153075.0000000', expected '66153075.0000000', error '0.0000000'

Test #219:

score: 15
Accepted
time: 1952ms
memory: 4048kb

input:

10 50 40 8
12345 12323649
12345 11519440
12345 24159195
12345 -57111032
12345 53702723
12345 95759380
12345 -37949320
12345 -57561177
12345 85915543
12345 65350403
12345 20774339
12345 -3634719
12345 19876856
12345 44106551
12345 -58364224
12345 97902750
12345 -75785099
12345 -67707690
12345 3160736...

output:

159014878.668635

result:

ok found '159014878.6686350', expected '159014878.6686350', error '0.0000000'

Test #220:

score: 15
Accepted
time: 1950ms
memory: 4064kb

input:

10 50 80 4
-70238808 54321
24137760 54321
41312535 54321
-69086917 54321
-36898127 54321
14009199 54321
56929308 54321
11184746 54321
66393315 54321
64719362 54321
85675548 54321
95371409 54321
61535731 54321
-52520731 54321
45109035 54321
-14483607 54321
9218985 54321
68104038 54321
67771674 54321
...

output:

74235913.989200

result:

ok found '74235913.9892000', expected '74235913.9891998', error '0.0000000'

Test #221:

score: 15
Accepted
time: 1948ms
memory: 4152kb

input:

10 50 50 27
3279583 -3279383
8496141 -8495941
2560388 -2560188
9634192 -9633992
-2552975 2553175
-7911684 7911884
2838580 -2838380
-7775713 7775913
3741574 -3741374
9177121 -9176921
8637231 -8637031
-5882031 5882231
4583792 -4583592
-7867752 7867952
2459405 -2459205
1339089 -1338889
-7573744 7573944...

output:

66485039.216631

result:

ok found '66485039.2166310', expected '66485039.2166310', error '0.0000000'

Test #222:

score: 15
Accepted
time: 1952ms
memory: 4192kb

input:

10 50 33 27
4487102 4487102
6221683 6221683
1830397 1830397
5936217 5936217
-7057367 -7057367
-8795014 -8795014
-8413252 -8413252
6245638 6245638
9517562 9517562
-9340337 -9340337
3797596 3797596
7290956 7290956
-3389901 -3389901
1035768 1035768
-5990751 -5990751
7763163 7763163
4644377 4644377
2357...

output:

73730332.372878

result:

ok found '73730332.3728780', expected '73730332.3728779', error '0.0000000'

Test #223:

score: 15
Accepted
time: 1947ms
memory: 3948kb

input:

50 499 100 10
-749368701 366767459
193967555 -903497290
-182275959 325815353
-235814193 526168810
-620430207 -783595025
950735951 -211615552
542199384 -938659076
610443494 -211771002
79213172 -984926414
911591362 438385925
179894037 -508420372
-402114614 -602093047
-262347653 762564982
-529492250 -2...

output:

3407191897.190475

result:

ok found '3407191897.1904750', expected '3407191897.1904726', error '0.0000000'

Test #224:

score: 15
Accepted
time: 1984ms
memory: 4216kb

input:

123 700 1 1
627091198 347919893
846693374 519878505
110293406 -727563282
-456633918 90069576
462597626 6571535
471446185 159667816
-433503832 -478626509
-155768819 974567881
375747708 880205674
568145433 -869391578
147504892 -849260242
-670046461 4948280
968730391 248365674
48473897 -338278915
-8492...

output:

467428256.060861

result:

ok found '467428256.0608610', expected '467428256.0608609', error '0.0000000'

Test #225:

score: 15
Accepted
time: 1980ms
memory: 4156kb

input:

5 700 10 100
208858435 -88182480
-741696379 -598682057
302405447 -859933395
937288158 -246462103
-795089487 -134853263
447084098 -170140707
-763893621 -837779544
-997887282 -601347509
910455654 -542876932
245671016 -584446448
-115585375 675336017
-204812484 -244648028
60707533 -231676933
692324080 -...

output:

5134184545.229290

result:

ok found '5134184545.2292900', expected '5134184545.2292881', error '0.0000000'

Test #226:

score: 15
Accepted
time: 1986ms
memory: 4068kb

input:

5 700 1 10
669788950 44533524
526697598 -225760375
496129628 490408476
462216821 -777215819
807511713 33125653
-254662831 602562826
-615460581 815118298
-34416831 -917961894
879624622 175457949
449776058 -463444885
-239462296 529477495
654964411 870714665
-2701465 759506941
-669970195 361832053
-261...

output:

551017446.762772

result:

ok found '551017446.7627720', expected '551017446.7627714', error '0.0000000'

Test #227:

score: 15
Accepted
time: 1973ms
memory: 4160kb

input:

10 700 1 10
764252241 302911519
-446217132 -403300596
-869732880 -672683607
651249500 302388057
41333930 -329167439
-83551368 -44503672
817152587 -917434511
947309657 990755271
-233113012 -555406524
636344403 392452103
711302593 781708775
-706524044 280216436
-816413131 -571144717
-441490743 -784595...

output:

1029666585.792281

result:

ok found '1029666585.7922810', expected '1029666582.1472266', error '0.0000000'

Test #228:

score: 0
Wrong Answer
time: 1955ms
memory: 4216kb

input:

10 700 10 100
-168372281 -224983432
631947890 859366663
-106467924 -855429266
-6703451 -932551563
-301247362 -202520382
640857936 183988671
685600561 626814651
-13944194 -620156133
885604810 -151336178
-520895927 86359236
-499127441 622530070
328269253 -331938337
379383485 -524960926
568524868 28705...

output:

11111070551.901100

result:

wrong answer 1st numbers differ - expected: '10952829222.2211170', found: '11111070551.9011002', error = '0.0144475'

Subtask #7:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%