QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#511724#8321. 季风bribritt#20 115ms5140kbC++171.6kb2024-08-10 10:23:422024-08-10 10:23:42

Judging History

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

  • [2024-08-10 10:23:42]
  • 评测
  • 测评结果:20
  • 用时:115ms
  • 内存:5140kb
  • [2024-08-10 10:23:42]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int INF = 3e13;
void transform(int &x, int &y) {
	x -= y;
	y = (y << 1) + x;
}
int floorDiv(int a, int b) {
	return (a/b) - ((a^b)<0 && (a%b));
}
pair<int,int> xRange(int vx, int dx, int a, int k) {
	int lft = 0, rgt = INF;
	if(vx+k>0) lft=max(lft,floorDiv(dx-a+vx+k-1,vx+k));
	else if(vx+k<0) rgt=min(rgt,floorDiv(dx-a,vx+k));
	else if(dx>a) rgt=-1;
	if(vx-k>0) rgt=min(rgt,floorDiv(dx+a,vx-k));
	else if(vx-k<0) lft=max(lft,floorDiv(dx+a+vx-k+1,vx-k));
	else if(dx+a<0) rgt=-1;
	return {lft,rgt};
}
int test(int vx, int vy, int dx, int dy, int a, int k) {
	auto [lx, rx] = xRange(vx,dx,a,k);
	auto [ly, ry] = xRange(vy,dy,a,k);
	int fst = max(lx,ly);
	if(fst<=rx&&fst<=ry) return fst;
	else return INF;
}
int test2(int vx, int vy, int dx, int dy) {
    if(dx&&!vx) return INF;
    if(dy&&!vy) return INF;
    if(!dx && !dy) return 0;
    if(!vx) return (dy%vy?INF:(((dy^vy)<0)?INF:dy/vy));
    if(!vy) return (dx%vx?INF:(((dx^vx)<0)?INF:dx/vx));
    if(dx*vy==dy*vx) return (dx%vx?INF:(((dx^vx)<0)?INF:dx/vx));
    return INF;
}
int solve() {
	int n, k, x, y; cin >> n >> k >> x >> y;
	transform(x,y);
	int xx[n], yy[n], sx = 0, sy = 0;
	for(int i=0;i<n;i++) {
		cin>>xx[i]>>yy[i];
		transform(xx[i],yy[i]);
		sx += xx[i];
		sy += yy[i];
	}
	if(!x&&!y) return 0;
	int ans = INF;
	for(int cx=0,cy=0,i=0;i<n;i++) {
		cx += xx[i];
		cy += yy[i];
		ans=min(ans,test2(sx,sy,x-cx,y-cy)*n+i+1);
	}
	return (ans==INF?-1:ans);
}
main() {
	ios_base::sync_with_stdio(0); cin.tie(0);
	int T; cin >> T;
	while(T--) cout<<solve()<<"\n";
}

Details

Tip: Click on the bar to expand more detailed information

Pretests


Final Tests

Test #1:

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

input:

300
1 32286 -66773299 39159226
2655 14568
1 9900506 22484330 26135209
-33930 -9866575
1 669210 -40846340 -58419438
-529764 8866
1 74 -74443560 -78969527
-14 -37
1 473964 -91643319 -21680398
106817 243107
1 8543824 31629618 -37823687
1090776 4153469
1 16 -8109 -8410
-16 0
1 794120 -60084819 -21436725...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-...

result:

wrong answer 1st numbers differ - expected: '2397', found: '-1'

Test #2:

score: 10
Accepted
time: 0ms
memory: 3632kb

input:

300
1 0 14658671 -17744707
-19 23
1 0 -43777875 2899010
1318511 -388002
1 0 -39267054 -13736220
-19633527 -6868110
1 0 51104805 90132261
1473 -925
1 0 -30105792 20070528
48 -32
1 0 -73521410 -3106528
7939241 3095051
1 0 1934605 -4643052
-5 12
1 0 10981610 -30724102
5490805 -15362051
1 0 -8877616 887...

output:

-1
-1
2
-1
-1
-1
-1
2
-1
-1
-1
1
1
-1
1
-1
-1
504450
-1
383792
-1
2
-1
-1
-1
2
-1
1
551573
1
-1
1
-1
-1
-1
-1
290386
-1
-1
-1
-1
-1
1
-1
-1
122858
-1
1
-1
-1
1
-1
2
-1
1
1
-1
-1
558002
0
-1
1
-1
-1
-1
-1
-1
1
1
2
-1
2
-1
-1
-1
-1
2
-1
453621
2
2
-1
-1
127092
-1
-1
2
2
-1
198741
-1
-1
2
1
-1
-1
-1
2
...

result:

ok 300 numbers

Test #3:

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

input:

300
1 342739 0 84733186
0 0
1 1 -71236915 69825956
0 0
1 1 96944547 67493888
0 0
1 101010 10720443 27403069
0 0
1 0 -47050862 27820930
0 0
1 299851 -32954036 24041633
0 0
1 22039 16175909 -32970576
0 0
1 54 -92637795 -64306686
0 0
1 65 -42213950 -76922091
0 0
1 48846 0 20220443
0 0
1 4641 0 0
0 0
1 ...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1...

result:

wrong answer 1st numbers differ - expected: '248', found: '-1'

Test #4:

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

input:

300
1 491 19238896 24359756
2923207 -8745945
1 28452 -33430186 -3983771
18956 9495
1 1198593 -53848855 -4734461
93056 1105536
1 676 2931070 -9330910
52 -67
1 10 55228984 8970
-5 0
1 765812 2781176 64328480
-208 -223
1 0 -18744011 -35145767
-24 -45
1 251234 23812841 -10427626
-6279 -6797
1 996 -44886...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
552495
-1
-1
-1
-1
440611
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0
-1
-1
-1
-1
-1
-1
-1
630060
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
2
-1
-1
-1
-1
-1
-1
-1
0
-1
-1
-1
2
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1...

result:

wrong answer 2nd numbers differ - expected: '37413957', found: '-1'

Test #5:

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

input:

686
4 123 61343816 -81149292
43 62
-26 -93
68 31
-103 0
2 41 5546 -92990467
-40 0
-25 0
6 835927 -25588646 -89091109
644485 191442
677934 157993
398739 437187
762871 73056
776002 59925
553067 282859
2 542128 21060442 -2011
-23932 0
-25454 0
3 1 44172958 49903094
-1 0
-1 0
0 0
1 4491 18010618 -313236...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1...

result:

wrong answer 1st numbers differ - expected: '1202474', found: '-1'

Test #6:

score: 10
Accepted
time: 1ms
memory: 3616kb

input:

684
7 0 -4659965 65259689
-4659965 -99999977
0 0
0 0
0 0
4659965 99999979
0 0
0 0
1 0 18167938 67528693
18167938 67528693
7 0 -98200220 34188772
-98200220 34188772
-68294507 12668575
-28670964 -87244428
-98971553 90836074
74941179 92402443
10378449 63151034
-11200823 12733866
3 0 -80260647 -12683275...

output:

578408832
1
1
-1
1
-1
-1
-1
1
6
2128095
-1
1
1324125443
306230
-1
6
-1
5
-1
2804421
2
-1
-1
230055022
1
-1
-1
-1
1
-1
368563393
3
-1
1354128
1
732875
-1
-1
-1
1560100
-1
-1
-1
-1
-1
355038951
1779555255578
-1
-1
-1
103976047
-1
-1
12496201
-1
10
158771807
5
-1
6
-1
2
212817988
1346785
-1
-1
1
145106...

result:

ok 684 numbers

Test #7:

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

input:

667
6 22320 -47869922 -94574425
-35667 -912623
452472 -751486
42399 685787
-602148 221313
389986 58340
504503 896866
3 568 40479510 -78492210
-218 -454519
249230 -310323
-501776 -456425
4 96 -34634275 -41782650
450066 2475397
-1983097 1089604
-2006742 1395784
394497 -1700181
2 586988 87270830 324220...

output:

-1
-1
-1
-1
2115032
-1
-1
88704
-1
10818277
-1
214611
-1
1
-1
-1
-1
-1
-1
-1
-1
-1
-1
4
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0
-1
-1
-1
-1
-1
0
-1
-1
-1
-1
-1
428932225
-1
-1
-1
-1
-1
-1
-1
-1
35330197
-1
-1
1
-1
-1
-1
-1
388947
-1
-1
-1
-1
-1
-1
3
-1
-1
-1
-1
6
-1
-1
-1
-1...

result:

wrong answer 4th numbers differ - expected: '239385813', found: '-1'

Test #8:

score: 0
Wrong Answer
time: 11ms
memory: 3792kb

input:

5026
7 1536 96224177 3215062
-431 -1063
-930 207
392 -343
-151 -351
190 240
708 -222
1084 -118
2 2007 4875 8961
0 -1006
1282 725
3 74 6255 36271857
2 0
2 0
39 0
4 299644 51336139 54387095
-223835 -75808
-50044 -249599
-36180 -263463
-257793 -41851
5 87337 46515166 83800720
-45698 -41639
-38633 -4870...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

wrong answer 1st numbers differ - expected: '69860', found: '-1'

Test #9:

score: 0
Wrong Answer
time: 9ms
memory: 3796kb

input:

5021
4 0 -12747354 40715188
8473127 -24739598
-4402460 47229129
-63791499 59230380
38500351 -16265125
1 0 13024199 16963243
-2413 -27747
4 0 85556443 48034225
66661568 99999993
18894875 99999991
-19570239 -99999994
-65986204 -99999993
1 0 -64373357 -92003118
3 0
3 0 -57596351 -55622531
-97485 -45744...

output:

5
-1
202621014
-1
-1
-1
-1
-1
-1
-1
903348426
1017644
3
-1
-1
-1
-1
3
9
-1
-1
-1
-1
131427163
3773967
-1
63606
4918116
341309620
-1
269616
307975448
425315146
2
1
-1
5270454
-1
411686418
-1
37840064
0
-1
-1
-1
1181692
10
4
855299912
-1
-1
-1
1392987
-1
-1
-1
-1
371539975
631281061
-1
6
-1
1
2331264
...

result:

wrong answer 347th numbers differ - expected: '4992777671798627', found: '-1'

Test #10:

score: 0
Wrong Answer
time: 115ms
memory: 5140kb

input:

50122
5 25999922 8405 55768791
-1508111 -18663017
17765724 618297
-4046292 -11237396
-7742552 -12278384
6308331 3503946
2 204 -78318892 -78082051
582 -858
-620 -1217
2 33912059 -80164190 40071329
-4 -3
4 -3
1 281690 -6253970 14352972
-4363 328
5 11522477 13398456 -59393899
-173 -366
-221 -193
-484 1...

output:

-1
-1
-1
-1
-1
-1
-1
-1
6
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1800248
-1
-1
-1
-1
-1
-1
-1
391633112
-1
-1
-1
1790748528
-1
-1
-1
-1
-1
-1
-1
-1
6
-1
-1
-1
193420499
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
77650737
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
33192
-1
-1
-1
-1
-1
23741...

result:

wrong answer 1st numbers differ - expected: '4', found: '-1'