QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#310231#6401. Classic: N Real DNA PotsPlentyOfPenalty#TL 1949ms7724kbC++201.4kb2024-01-21 09:18:452024-01-21 09:18:45

Judging History

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

  • [2024-01-21 09:18:45]
  • 评测
  • 测评结果:TL
  • 用时:1949ms
  • 内存:7724kb
  • [2024-01-21 09:18:45]
  • 提交

answer

#include <algorithm>
#include<bits/stdc++.h>
#define all(x) begin(x),end(x)
using namespace std;
const int N=1e5+9;
int n,m;
struct point{
	int x,y;
	bool operator<(const point &rhs)const{return x<rhs.x;}
	double at(double k){return y-k*x;}
}a[N];
set<pair<double,int>> st;
int query(double v){
	auto it=st.upper_bound(make_pair(v,114514));
	if(it==st.begin())return 0;
	return prev(it)->second;
}
void insert(double v,int w){
	if(query(v)>=w)return;
	auto it=st.insert(make_pair(v,w)).first;
	if(it==st.end())return;
	while((++it)!=st.end()){
		if(w>=it->second){
			if(next(it)!=st.end()){
				auto tmp=*next(it);
				st.erase(it);
				it=st.find(tmp);
			}else{
				st.erase(it);
				break;
			}
		}else{
			break;
		}
	}
}
bool check(double k){
	st.clear();
	fprintf(stderr,"check %.15lf\n",k);
	for(int i=1;i<=n;i++){
		int dp=query(a[i].at(k));
		if(dp+1>=m)return true;
		insert(a[i].at(k),dp+1);
	}
	return false;
}
int main(){
#ifdef memset0
	freopen("H.in","r",stdin);
#endif
	cin.tie(0)->sync_with_stdio(0);
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i].x>>a[i].y;
	}
	sort(a+1,a+n+1);
	double l=-1e9,r=1e9,mid,ans=1145141919810.;
	// double l=-10,r=10,mid,ans=1145141919810.;
	for(int _=1;_<=100;_++){
		mid=(l+r)/2;
		if(check(mid)){
			ans=mid;
			l=mid;
		}else{
			r=mid;
		}
	}
	cout<<fixed<<setprecision(15)<<ans<<endl;
}

详细

Test #1:

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

input:

4 3
1 2
2 4
3 3
4 1

output:

-0.999999999999999

result:

ok found '-1.0000000', expected '-1.0000000', error '0.0000000'

Test #2:

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

input:

2 2
1 1
5 3

output:

0.500000000000000

result:

ok found '0.5000000', expected '0.5000000', error '0.0000000'

Test #3:

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

input:

2 2
222640995 547139825
489207317 725361095

output:

0.668581344645630

result:

ok found '0.6685813', expected '0.6685813', error '0.0000000'

Test #4:

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

input:

1000 20
545612 774435015
828317 212155588
5294705 85926095
5648835 764528941
6159263 570820268
7177330 744079287
8446124 162286636
8735551 586528841
9263030 524140841
9505706 636254627
12111352 182639083
12750780 238494418
13149143 913232250
13382784 11485121
13699797 414697815
14263990 423817548
15...

output:

3.793210462286661

result:

ok found '3.7932105', expected '3.7932105', error '0.0000000'

Test #5:

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

input:

1000 100
163505 684865289
2674260 837752883
2694530 150054425
2870791 236723512
3262597 800933455
3558503 905056977
4260872 45990808
4532415 268478572
5299228 546172100
6019224 12074540
6345109 747272172
6539452 449655551
7215852 676269961
9062989 769545718
9444242 874911191
10264016 341805234
10595...

output:

-1.860577876041861

result:

ok found '-1.8605779', expected '-1.8605779', error '0.0000000'

Test #6:

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

input:

5000 10
34774 620025564
366562 278306777
446710 509672662
650220 70882120
824803 317731338
881144 257861254
1063458 61483347
1071840 639872836
1263842 30790337
1591940 346781076
1964777 814735151
2067497 63962255
2220071 379252135
2539054 428050443
2937092 423099578
3088992 959927412
3229098 9591796...

output:

134.621472807091010

result:

ok found '134.6214728', expected '134.6214728', error '0.0000000'

Test #7:

score: 0
Accepted
time: 30ms
memory: 3964kb

input:

5000 20
199760 355854017
326334 308841311
562097 142603502
737215 739382649
740379 538515503
775788 515038260
817583 280515397
919169 892864353
972326 662840403
1344912 46143677
1550928 380148689
1589971 740794446
1638208 835030507
1707737 1806402
1736374 716485086
1738772 965202367
1855327 28929729...

output:

19.107398871059559

result:

ok found '19.1073989', expected '19.1073989', error '0.0000000'

Test #8:

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

input:

100 80
3642237 433728851
3835922 596838254
4822541 903206579
11786229 71614574
28051109 568783761
37988181 991770771
56927147 913182266
80808317 468372188
96532943 867642142
97069884 869788913
104938691 736691068
115294599 927608069
130086679 135340679
143622561 267761236
147838354 653078316
1483162...

output:

-45.917501529516663

result:

ok found '-45.9175015', expected '-45.9175015', error '0.0000000'

Test #9:

score: 0
Accepted
time: 3ms
memory: 3796kb

input:

300 300
186421 261109479
5746147 454165382
9237830 637520496
9851923 811263876
11414218 355514230
13089969 488595547
14673543 646754325
16206307 26512314
20111827 236176303
29494991 773939650
31542488 394434870
33151870 729247973
35483496 458610267
39685298 553345644
41333867 843739706
41339284 5952...

output:

-45869.322134004818508

result:

ok found '-45869.3221340', expected '-45869.3221340', error '0.0000000'

Test #10:

score: 0
Accepted
time: 3ms
memory: 3844kb

input:

1000 2
747727 310492171
1468650 713980779
3789328 757125223
5320562 240087911
5661018 585322880
5727658 166258339
9628311 1509468
9663570 644887821
9705398 201079132
11009052 79093580
11528729 273302786
14435306 891929759
16986960 794877487
17773102 990984060
19350978 246181882
19465885 427225500
23...

output:

145656.485252704180311

result:

ok found '145656.4852527', expected '145656.4852501', error '0.0000000'

Test #11:

score: 0
Accepted
time: 113ms
memory: 4320kb

input:

10000 5000
11343 928311929
52379 840203434
261042 695151644
263788 172667944
364610 152184226
379806 619677738
515566 816745302
517646 466302942
540027 475750734
543982 124168292
640523 238869630
691715 468722215
705165 919447299
779673 129298873
1006841 948863833
1308410 643990798
1342527 5696458
1...

output:

-1045.873718454679874

result:

ok found '-1045.8737185', expected '-1045.8737185', error '0.0000000'

Test #12:

score: 0
Accepted
time: 164ms
memory: 3896kb

input:

10000 500
83515 736933811
214681 18821934
337773 255421593
373401 682078732
542837 930642686
743115 251178260
798454 390884216
1209834 124196728
1262528 560215146
1351188 9091629
1563890 525243183
1574212 997260354
1580426 699829078
1750092 395252098
1869757 67867660
1875112 226384476
2047018 328213...

output:

-5.629902788399680

result:

ok found '-5.6299028', expected '-5.6299028', error '0.0000000'

Test #13:

score: 0
Accepted
time: 162ms
memory: 3940kb

input:

10000 300
1639 469147828
114667 8224138
144408 364515807
212973 961202084
398743 285809740
496841 927819708
534650 867558923
686967 588702382
696690 666164443
726922 781870146
872473 615520296
898161 178383389
985406 97264277
996652 703675454
1254375 530922354
1573412 745036174
1637763 177874295
167...

output:

-1.304150527632006

result:

ok found '-1.3041505', expected '-1.3041505', error '0.0000000'

Test #14:

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

input:

10000 200
24361 355989436
67308 334706995
197996 808393732
208836 116843625
567811 484127866
694262 618656785
788342 790194385
849652 136657098
1029137 924171800
1203341 168259404
1211974 844956962
1214043 637541127
1420445 759167413
1655236 915436195
1657793 262449701
1691654 725474596
1767520 8976...

output:

-0.114468865279293

result:

ok found '-0.1144689', expected '-0.1144689', error '0.0000000'

Test #15:

score: 0
Accepted
time: 128ms
memory: 3824kb

input:

10000 100
448934 906394555
475014 997626342
590053 178642728
875628 903888948
1212211 346009502
1241514 309493863
1340826 712829848
1680222 758240743
1794126 477146449
1817597 186052442
1981543 779426336
2021852 433135353
2185476 494699476
2298672 422164227
2516850 625380828
2646484 337316798
267075...

output:

1.035376804970546

result:

ok found '1.0353768', expected '1.0353768', error '0.0000000'

Test #16:

score: 0
Accepted
time: 115ms
memory: 4000kb

input:

10000 50
40110 141597180
41162 930485122
87106 57859547
129179 279497823
217282 102811622
246011 688060074
527945 830469708
674775 425660310
781249 284422288
845105 393707471
1003702 918990189
1121790 534007402
1337016 917493002
1440969 636045451
1729947 231052670
1779758 199172396
1990895 270436931...

output:

5.115538367404896

result:

ok found '5.1155384', expected '5.1155384', error '0.0000000'

Test #17:

score: 0
Accepted
time: 81ms
memory: 4036kb

input:

10000 20
192005 992303174
386824 5538930
652843 617355627
665819 922060802
675553 291515142
791249 384248576
854934 231142457
926022 596717008
932239 945932944
969019 474307451
1374561 126586755
1567083 106513004
1629151 116861834
1670295 988693473
1775518 799130552
1792436 888344340
1820264 3853242...

output:

41.567725410072555

result:

ok found '41.5677254', expected '41.5677254', error '0.0000000'

Test #18:

score: 0
Accepted
time: 56ms
memory: 3904kb

input:

10000 10
266996 609205171
273102 735589575
277177 347655580
387543 606270266
469806 638663697
782692 72510150
796356 424656429
870781 260446185
926881 906882617
1343887 6609329
1382474 430796513
1550455 62337302
1552339 109538657
1629503 994097318
1808731 767302009
1877069 710955532
2206272 16406618...

output:

299.452481593818334

result:

ok found '299.4524816', expected '299.4524816', error '0.0000000'

Test #19:

score: 0
Accepted
time: 54ms
memory: 4040kb

input:

10000 8
88029 227530654
223658 46422449
264166 625625697
310448 286795635
454903 177457515
464676 839404426
687127 463087924
691931 190423638
704573 856226776
765895 482811447
768088 644745751
835500 427038249
919699 469313878
1032714 947023480
1152691 976821799
1197844 123594183
1286309 353740491
1...

output:

628.852979485080482

result:

ok found '628.8529795', expected '628.8529795', error '0.0000000'

Test #20:

score: 0
Accepted
time: 37ms
memory: 4036kb

input:

10000 5
62217 249235177
306503 34074294
477055 572914538
702905 839767773
704209 612222410
816080 392889606
861062 830566450
972418 999799224
1062852 573719854
1105278 478171882
1109703 803913526
1131824 820380955
1232243 740998431
1346238 6361814
1557725 497005895
1644920 318176224
1675339 14779790...

output:

3264.755751370949383

result:

ok found '3264.7557514', expected '3264.7557514', error '0.0000000'

Test #21:

score: 0
Accepted
time: 23ms
memory: 4000kb

input:

10000 2
81106 607376188
121099 653129920
571348 183766890
852412 97772619
885397 341954595
972399 314971005
1253363 493012266
1295891 104142101
1298100 659809152
1322651 842128537
1432357 889452372
1451236 918756370
1486954 86311912
1536631 770732857
1592430 17189991
1616977 439129337
1724413 646888...

output:

12931122.782887795940042

result:

ok found '12931122.7828878', expected '12931122.7792642', error '0.0000000'

Test #22:

score: 0
Accepted
time: 1482ms
memory: 7724kb

input:

100000 50000
15057 358350989
39346 497842396
51813 37907067
52457 435919654
53100 875724585
58397 718257424
59957 37620444
67204 427984803
74005 329917739
74035 317952573
75181 793673458
79739 677360131
90807 331908646
102249 97003766
103081 951437983
105105 433577588
105745 722249067
111137 8229696...

output:

-10595.277870672478457

result:

ok found '-10595.2778707', expected '-10595.2778708', error '0.0000000'

Test #23:

score: 0
Accepted
time: 1474ms
memory: 5948kb

input:

100000 20000
9323 677685425
14352 743079179
27428 611123223
37560 310598085
40204 780177048
63204 819646155
75150 47251013
77812 485531797
109722 432406359
129210 592704679
158564 802266075
160575 111024815
162290 140573044
173609 996619714
179478 899208368
181604 694506174
198759 146118416
201478 3...

output:

-1178.245545490238783

result:

ok found '-1178.2455455', expected '-1178.2455455', error '0.0000000'

Test #24:

score: 0
Accepted
time: 1627ms
memory: 5324kb

input:

100000 10000
27122 784670388
52622 978773279
54369 605497801
56855 291806777
79140 185912169
82086 894702166
90642 526025925
112979 570953989
124993 350309338
125022 532367240
127941 2114724
128376 503025496
134023 126059042
171840 343298358
194986 822363413
231604 17376068
255216 203618065
266433 9...

output:

-273.851076098988926

result:

ok found '-273.8510761', expected '-273.8510761', error '0.0000000'

Test #25:

score: 0
Accepted
time: 1814ms
memory: 4916kb

input:

100000 5000
1027 561371036
3497 339464673
13859 18712232
29827 576719761
48346 332534749
68143 55117324
84557 872658009
94409 77287019
97844 685493430
120163 586313701
129080 317911074
134194 538658651
142007 981246097
145948 144874419
150719 97107087
152074 956502946
154667 464585446
157050 6853228...

output:

-63.537542490479233

result:

ok found '-63.5375425', expected '-63.5375425', error '0.0000000'

Test #26:

score: 0
Accepted
time: 1929ms
memory: 4828kb

input:

100000 2000
9586 395885811
19499 17791964
21501 515646844
24458 929922484
33438 843409039
42203 233776947
65186 34643920
67241 61748385
69684 74745975
69689 695199431
73734 539712050
83890 523922008
96539 362903030
105331 604030665
150789 315444612
152164 11492917
169636 963134733
173597 322648995
2...

output:

-9.278632045276719

result:

ok found '-9.2786320', expected '-9.2786320', error '0.0000000'

Test #27:

score: 0
Accepted
time: 1949ms
memory: 4584kb

input:

100000 1000
37279 719439633
41236 899244998
56189 526653023
58056 75139811
58554 329362573
65892 575853640
80305 636046571
83360 262197963
89323 901720632
98393 821514157
106148 601081431
117128 683415607
131548 527010410
133103 976334293
135664 422372607
137700 675180489
160369 778400924
168358 761...

output:

-1.513711997472007

result:

ok found '-1.5137120', expected '-1.5137120', error '0.0000000'

Test #28:

score: -100
Time Limit Exceeded

input:

100000 500
4538 609062984
27394 664194059
36814 522659380
48139 213924960
57331 294361969
65363 289469759
67076 429417686
78659 225815816
82953 124914914
88572 765544043
92332 653764069
92570 871955651
103105 562686724
106835 196897094
108837 304680524
115090 163632601
117435 268917485
120664 986515...

output:


result: