QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#528466 | #8266. Astronomer | ktq_cpp | 8 | 1999ms | 4220kb | C++14 | 2.7kb | 2024-08-23 14:43:44 | 2024-08-23 14:43:44 |
Judging History
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%