QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#454647#7768. Grievous Ladykkkgjyismine40 1456ms4072kbC++231.7kb2024-06-25 08:34:372024-06-25 08:34:37

Judging History

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

  • [2024-06-25 08:34:37]
  • 评测
  • 测评结果:0
  • 用时:1456ms
  • 内存:4072kb
  • [2024-06-25 08:34:37]
  • 提交

answer

#include<bits/stdc++.h>
#define ll long long
#define i28 __int128
#define pii pair<ll,ll>
#define fi first
#define se second
#define pb push_back
#define mp make_pair
using namespace std;
int n;ll a[3030],b[3030];
vector<pii>vec,v1,v2;
void solve(){
	vec.clear(),vec.pb(mp(0,0));
	ll s=0;
	for(int i=1;i<=n;++i){
		scanf("%lld%lld",&a[i],&b[i]),s+=a[i],v1=vec,v2.clear();
		for(auto v:vec)v2.pb(mp(v.fi+a[i],v.se+b[i]));vec.clear();
		int p=0,q=0;
		while(p<v1.size()&&q<v2.size()){
			if(v1[p]<v2[q])vec.pb(v1[p++]);
			else vec.pb(v2[q++]);
		}
		while(p<v1.size())vec.pb(v1[p++]);
		while(q<v2.size())vec.pb(v2[q++]);
		ll mx=-1e18;
		v1.clear();
		for(auto v:vec){
			if(v.se<=mx)continue;
			mx=v.se,v1.pb(v);
		}
        vec=v1;
		while(vec.size()>3000)vec.pop_back();
	}
	i28 ans=0;
	for(auto v:vec)ans=max(ans,(i28)(s-v.fi)*(i28)v.se);
	vec.clear(),vec.pb(mp(0,0)),s=0;
	for(int i=1;i<=n;++i){
		scanf("%lld%lld",&a[i],&b[i]),s+=a[i],v1=vec,v2.clear();
		for(auto v:vec)v2.pb(mp(v.fi+b[i],v.se+a[i]));vec.clear();
		int p=0,q=0;
		while(p<v1.size()&&q<v2.size()){
			if(v1[p]<v2[q])vec.pb(v1[p++]);
			else vec.pb(v2[q++]);
		}
		while(p<v1.size())vec.pb(v1[p++]);
		while(q<v2.size())vec.pb(v2[q++]);
		ll mx=-1e18;
		v1.clear();
		for(auto v:vec){
			if(v.se<=mx)continue;
			mx=v.se,v1.pb(v);
		}
        vec=v1;
		while(vec.size()>3000)vec.pop_back();
	}
	for(auto v:vec)ans=max(ans,(i28)v.fi*(i28)(s-v.se));
    stack<char>stk;while(stk.size())stk.pop();
    while(ans)stk.push((char)(ans%(i28)(10)+'0')),ans/=(i28)(10);
    while(stk.size())putchar(stk.top()),stk.pop();
    puts("");
}
int main(){
	ll ta,tb;
	int t;cin>>t>>n>>ta>>tb;
	while(t--)solve();
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3944kb

input:

50 10 10000 10000
8450 6001
2804 803
8972 6155
8161 1938
4806 6582
2927 9312
9157 1289
6486 3737
8239 257
7292 9051
6079 2510
1408 5174
6821 772
8947 3187
100 5067
6986 9882
2067 1776
2734 6298
8909 4770
1083 1077
4929 4165
4788 5873
5490 6802
6829 6136
8919 4869
9488 4505
1052 8990
57 1445
7680 822...

output:

1356022774
1140061305
879903720
1080286757
1362698900
1137531330
934759445
1136968923
1277454816
1244442420
899456910
1193825850
845410521
1302451776
1032832836
636397510
1159356018
1117180491
1044314862
1080622320
1435231728
1074594274
1065698925
751776804
833199075
1377381878
1377381878
1377381878...

result:

wrong answer 2nd lines differ - expected: '902566854', found: '1140061305'

Subtask #2:

score: 0
Wrong Answer

Test #13:

score: 0
Wrong Answer
time: 5ms
memory: 3988kb

input:

50 30 10000 10000
4853 6897
1727 7443
2329 2876
5355 3477
2872 4090
2719 1756
989 681
7909 4601
8835 4634
9358 3999
8141 3749
8476 9479
2527 8659
7238 5965
3058 2946
8 2928
8116 7269
3840 2790
422 930
2018 8310
1708 7842
3701 3484
2944 9028
4308 9528
4704 6890
7982 8335
1596 9290
7031 745
6121 7262
...

output:

9075997372
10477290528
9141835285
10870358352
9641567016
10497065841
9286255875
10977950304
10773619480
10296624454
9105586680
12677685920
9933184000
9795209116
9910000800
11687790095
10252000992
11086446611
9292811243
11652133779
7719458812
12174524454
8024368534
10010922768
8043969280
10374001040
...

result:

wrong answer 2nd lines differ - expected: '9741088812', found: '10477290528'

Subtask #3:

score: 0
Wrong Answer

Test #33:

score: 0
Wrong Answer
time: 152ms
memory: 3788kb

input:

50 100 10000 10000
3817 9367
533 166
3422 6775
1637 2003
4512 2346
7101 356
2772 4037
6684 180
8703 7518
4497 9606
9197 9761
7217 8544
332 7886
9189 4475
2622 7432
729 8677
3451 5287
8879 6942
4972 487
1370 3918
1009 5847
6307 2158
2380 9771
6296 9946
6644 2651
5624 5590
3171 1058
1608 8006
6185 687...

output:

99383125432
112729256865
118672536221
104841972644
123989724360
104473835537
112579826958
110610633843
111030606150
103918702650
121157116262
125888304869
112247297685
98006507438
105575119650
113412904920
107665734545
101450709090
103658841519
115637266864
107499957655
117796788050
115964114000
106...

result:

wrong answer 2nd lines differ - expected: '104811638659', found: '112729256865'

Subtask #4:

score: 0
Wrong Answer

Test #37:

score: 0
Wrong Answer
time: 141ms
memory: 3736kb

input:

50 100 100000 1000000000
64674 582989836
17174 628184989
7993 598433899
93758 468751386
36632 620786833
54253 85788398
24335 220088249
41708 370324059
57541 192813008
20125 886362267
3571 180283386
31249 729879131
48870 314235662
40658 954471739
36545 20574741
87835 599485007
44057 459200718
16186 4...

output:

122583343290315160
106848070437186806
114671328948865344
110804547540967368
115223347014415782
99271607302919308
116326704862592262
111777281124226281
113007508255090638
111059637019932288
114233350310410640
114900872677952200
112377874244352237
112819072406598250
112963450026249570
1033791855023670...

result:

wrong answer 2nd lines differ - expected: '123180788743136835', found: '106848070437186806'

Subtask #5:

score: 0
Wrong Answer

Test #49:

score: 0
Wrong Answer
time: 1437ms
memory: 3852kb

input:

50 300 100000 1000000000000
21621 667704611522
95538 504360767965
20121 374291791983
58259 527043478787
9507 542834074255
46613 834605157827
59064 675317470117
92489 500884084061
92529 451667545421
21745 407068201316
3514 222491362996
44418 198133054017
8437 358148875035
28745 928794182062
90101 554...

output:

789053237948138464368
764811069151880627090
932979676091350626560
850527006732395210325
750831011292068282700
741382223757213883192
775835797193259823485
700591792042521636105
752567025765966818940
853774540961986501785
720518920720603081203
746696212422968407728
809110238885512391620
85203665680969...

result:

wrong answer 1st lines differ - expected: '1024354444153173318804', found: '789053237948138464368'

Subtask #6:

score: 0
Wrong Answer

Test #51:

score: 0
Wrong Answer
time: 1456ms
memory: 4072kb

input:

50 300 1000000000 1000000000
622938742 803340090
411563373 506291511
661934617 381755435
876890605 94166677
279496763 869423201
508007585 131998848
592251587 47733172
703056185 932460203
228695499 72609615
129679067 589829468
272070690 179647026
185157790 460526572
351519179 920281520
843895312 1023...

output:

8551750893368131511670
7588901156901008285250
7034113657478886413454
7102472540126135482716
7605757468583418060990
8634718118196328067052
7631869360749598745232
6934979962336216077300
8091928940444640515406
8432542965757423669672
6446260216583941663350
7990742371754301798024
7292636283043422816538
9...

result:

wrong answer 1st lines differ - expected: '10145178504143463639155', found: '8551750893368131511670'

Subtask #7:

score: 0
Time Limit Exceeded

Test #61:

score: 0
Time Limit Exceeded

input:

50 800 100000 1000000000000
98918 860842806148
33478 598362503847
18531 201301091495
53208 640503897011
43307 430663243504
74638 460997604730
14440 749299232168
15540 46909570195
54856 833537407449
70810 868074038174
17982 623720662739
34195 105105463226
76704 538435018409
23449 43950632205
21959 38...

output:


result:


Subtask #8:

score: 0
Time Limit Exceeded

Test #73:

score: 0
Time Limit Exceeded

input:

50 1500 100000 1000000000000
18757 387292221744
29053 379348011407
47483 314966420174
80638 546097965718
84807 917566638908
59364 705165061774
25136 779704406223
23865 837453418495
38499 811293770591
84972 313037387571
23632 69910257865
36366 901965627066
33323 800225614191
75382 895280109542
95500 ...

output:


result:


Subtask #9:

score: 0
Time Limit Exceeded

Test #85:

score: 0
Time Limit Exceeded

input:

50 2500 10000 1000000000
1989 715660116
726 205696491
906 80983641
1280 135698142
9814 930386766
3162 86759005
1412 262080798
8338 590216389
8436 932386996
9530 971462836
3099 385836418
6344 24362894
4400 361413630
9974 582107128
1025 746910753
2258 921930336
3036 21556198
5903 237088626
9254 502009...

output:


result:


Subtask #10:

score: 0
Time Limit Exceeded

Test #93:

score: 0
Time Limit Exceeded

input:

50 3000 10000 1000000000
2737 308421419
1673 866261939
7204 148757554
1832 755475073
6111 239582749
5110 227503898
7381 928418391
4831 719415538
4618 750355710
1602 775678323
490 537881445
163 880774777
8544 75938451
2585 496945876
3375 309585347
1089 926499529
7965 908906210
1001 39148177
9619 6401...

output:


result: