UOJ Logo

NOI.AC

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#215157#2686. Oversleepingfddwd204345ms1260kbC++111.1kb2024-11-26 21:11:142024-11-26 23:05:10

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int t;
ll x,y,p,q;
inline ll exgcd(ll a,ll b,ll &num3,ll &num4){
	if(!b){
		num3=1,num4=0;
		return a;
	}ll r=exgcd(b,a%b,num3,num4),tmp=num3;
	num3=num4,num4=tmp-a/b*num4;
	return r;
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin>>t;
	while(t--){
		cin>>x>>y>>p>>q;
		ll ans=2e18,pos1=1,pos2=0;
		for(ll i=p;i<p+q;++i){
			const ll mod=2*(x+y);
			if(i%mod==x){ans=min(ans,i);break;}
			ll cl=((x-i)%mod+mod)%mod,ch=p+q;
			ll g=__gcd(cl,ch);cl/=g,ch/=g;
			if(__gcd(ch,mod)!=1) continue;
			exgcd(ch,mod,pos1,pos2);pos1=(pos1%mod+mod)%mod;
			(pos1*=cl)%=mod;
			ans=min(ans,i+pos1*(p+q));
		}for(ll i=x;i<x+y;++i){
			const ll mod=p+q;
			if(i%mod==p){ans=min(ans,i);break;}
			ll cl=((p-i)%mod+mod)%mod,ch=2*(x+y);
			ll g=__gcd(cl,ch);cl/=g,ch/=g;
			if(__gcd(ch,mod)!=1) continue;
			exgcd(ch,mod,pos1,pos2);pos1=(pos1%mod+mod)%mod;
			(pos1*=cl)%=mod;
			ans=min(ans,i+pos1*2*(x+y));
		}cout<<(ans==2e18?-1ll:ans)<<endl;
	}
	return 0;
}

Details

小提示:点击横条可展开更详细的信息

Test #1:

score: 5
Accepted
time: 0ms
memory: 1256kb

input:

10
42 337 468 315
179 261 297 332
336 189 230 33
240 398 38 204
465 158 454 462
112 184 90 263
320 4...

output:

1558
297
493
240
465
112
475
187
386
268

result:

ok 10 lines

Test #2:

score: 5
Accepted
time: 1ms
memory: 1260kb

input:

10
96 471 276 491
226 87 207 365
451 201 191 173
46 375 100 8
39 179 214 269
135 260 91 431
253 288 ...

output:

276
226
555
100
214
135
458
374
378
99

result:

ok 10 lines

Test #3:

score: 5
Accepted
time: 0ms
memory: 1260kb

input:

10
337 285 340 338
484 25 321 156
246 482 122 234
229 441 426 72
6 93 155 338
21 317 406 335
160 298...

output:

340
5574
246
426
204
697
372
469
437
492

result:

ok 10 lines

Test #4:

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

input:

10
196 433 313 366
262 415 94 30
353 22 242 460
283 172 13 276
56 247 344 4
297 363 415 479
473 26 6...

output:

313
342
353
283
4520
415
473
169
131
176

result:

wrong answer 5th lines differ - expected: '692', found: '4520'

Test #5:

score: 5
Accepted
time: 1ms
memory: 1260kb

input:

10
437 267 140 198
383 155 226 424
273 308 151 317
15 231 435 285
404 294 253 64
109 199 388 147
425...

output:

478
383
273
507
570
923
427
467
328
123

result:

ok 10 lines

Test #6:

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

input:

10
21 426 135 234
111 51 109 11
185 42 230 22
472 346 269 285
77 128 499 461
173 79 230 382
102 127 ...

output:

135
111
4271
472
499
230
207
297
268
141

result:

wrong answer 3rd lines differ - expected: '2001', found: '4271'

Test #7:

score: 0
Wrong Answer
time: 6ms
memory: 1260kb

input:

10
790950658 153 395731486 328
228237805 89 805489534 371
733742769 407 150980036 116
210282811 256 ...

output:

2910819999953930
131670212810617
2052650203575473
481464741052336
2119094653165927
2195170223196727
...

result:

wrong answer 1st lines differ - expected: '493783472749894', found: '2910819999953930'

Test #8:

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

input:

10
935151576 163 823994136 316
552819682 244 661178089 95
751586616 375 326537181 182
9424664 344 31...

output:

16016771198197604
7212423210651049
309929672717638
1902164539224
1034407235392958
58456733062296
468...

result:

wrong answer 1st lines differ - expected: '3487138752902582', found: '16016771198197604'

Test #9:

score: 0
Wrong Answer
time: 4ms
memory: 1260kb

input:

10
480628854 293 138727635 133
188840646 190 569211831 53
442713615 341 668626439 341
527553711 268 ...

output:

1302535268005995
4032666404768663
4334139081976695
28082225856120
10864583988810150
1282658979318908...

result:

wrong answer 1st lines differ - expected: '237399557723152', found: '1302535268005995'

Test #10:

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

input:

10
128375946 395 45119743 26
591869966 93 644623523 312
553967887 448 714110036 391
129391856 52 673...

output:

173096624515978
4605051504620056
259872639599737
14331835905752
769601137168098
961565343460272
2389...

result:

wrong answer 5th lines differ - expected: '256533712389188', found: '769601137168098'

Test #11:

score: 0
Wrong Answer
time: 4ms
memory: 1260kb

input:

10
416394745 108 799849287 309
285823581 120 50495267 151
984269713 448 325585187 230
502469917 398 ...

output:

27057271341158295
1905880727155209
781934728273229
6221665323228427
4845873144235946
105521424453861...

result:

wrong answer 1st lines differ - expected: '510932724030159', found: '27057271341158295'

Test #12:

score: 0
Wrong Answer
time: 4ms
memory: 1260kb

input:

10
858503120 86 550141525 344
266071218 423 114926419 32
463189501 184 235629038 219
681438792 48 66...

output:

1864662953909472
203572210743994
108859302958239
8577276812029512
348331947701166
299409242240879
23...

result:

wrong answer 2nd lines differ - expected: '14279266757365', found: '203572210743994'

Test #13:

score: 0
Wrong Answer
time: 4ms
memory: 1260kb

input:

10
49615553 235 484012586 439
733063300 215 529603390 181
217670208 264 477723402 451
412727927 119 ...

output:

536778672945986
108602626683520
183965723103840
270657559821653
41968855301009741
11451740089500920
...

result:

wrong answer 1st lines differ - expected: '163825824623411', found: '536778672945986'

Test #14:

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

input:

10
411060288 247 193494425 14
162692451 151 282497312 400
796796095 370 100991720 365
560074247 197 ...

output:

236839515269254
710816505468320
433677989580765
638082172634567
238702071887920
1014327193582686
145...

result:

wrong answer 2nd lines differ - expected: '56984873468971', found: '710816505468320'

Test #15:

score: 0
Wrong Answer
time: 556ms
memory: 1260kb

input:

10
733526255 46680 232614188 25143
740109721 35101 664765419 65813
926232187 19192 248710599 18813
7...

output:

483424517485
93633500986603
53004735144083
9067198590028
1006825631184
685064834622
84805986649153
1...

result:

wrong answer 2nd lines differ - expected: '2802928408299', found: '93633500986603'

Test #16:

score: 0
Wrong Answer
time: 673ms
memory: 1260kb

input:

10
40397805 9224 854461643 50758
463970290 6807 993317097 75888
496579182 67022 428873070 56575
8340...

output:

2384944063443
7726610589534
4885508641726
10990306568623
6103014773068
4510437960348
1709701068717
7...

result:

wrong answer 4th lines differ - expected: '3458814687913', found: '10990306568623'

Test #17:

score: 0
Wrong Answer
time: 623ms
memory: 1256kb

input:

10
677231818 45638 135553472 57886
334073954 74682 504512612 32658
528899984 14506 658263816 15374
1...

output:

12492382630282
7916315260794
186856497756164
1035101301992
4250858104139
6484554095599
1835106370808...

result:

wrong answer 1st lines differ - expected: '11785305009104', found: '12492382630282'

Test #18:

score: 0
Wrong Answer
time: 835ms
memory: 1260kb

input:

10
591761203 22205 53945697 65976
829627579 78277 112598137 27980
144133461 55044 668263637 96424
30...

output:

831455666035
2908118947003
291404913561
88666838913636
3950791693215
8266974861556
111818018746
7056...

result:

wrong answer 1st lines differ - expected: '408922312723', found: '831455666035'

Test #19:

score: 0
Wrong Answer
time: 888ms
memory: 1256kb

input:

10
798158737 58985 625637387 56023
950567276 86709 613154552 23440
2676550 96868 636525260 84971
205...

output:

830113703925077
69894932928656
23554542206
72816999418459
1962460002814
21055308702999
9071164247150...

result:

wrong answer 1st lines differ - expected: '1279542967427', found: '830113703925077'

Test #20:

score: 0
Wrong Answer
time: 729ms
memory: 1256kb

input:

10
76769987 47758 832950079 87350
226318103 39942 857729326 28604
700759579 85249 4088534 87174
7300...

output:

1867669828468
69239077838926
112835932059
63299765465801
118657188841543
9900452209294
730216990728
...

result:

wrong answer 1st lines differ - expected: '845532903085', found: '1867669828468'