QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#419323#8708. Portalpaul200821 70ms13972kbC++141.6kb2024-05-23 20:20:132024-05-23 20:20:15

Judging History

This is the latest submission verdict.

  • [2024-05-23 20:20:15]
  • Judged
  • Verdict: 21
  • Time: 70ms
  • Memory: 13972kb
  • [2024-05-23 20:20:13]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;

#define int long long

const int N=1e5+5;

int gcd(int x,int y)
{
	if(x>y)
		swap(x,y);

	if(x==0)
		return y;

	return gcd(y%x,x);
}

int lcm(int x,int y)
{
	return x/gcd(x,y)*y;
}

int x[N],y[N],val[N],id1[N],id2[N];
map <pair <int,int> ,bool> have;

pair <int,int> topair(int x,int y)
{
	if(x==0)
		return make_pair(0x3f3f3f3f,0);

	if(y==0)
		return make_pair(0,0);

	int GCD=gcd(abs(x),abs(y));
	x /= GCD, y /= GCD;
	if(x<0)
		x=-x, y=-y;
	return make_pair(x,y);
}

signed main()
{
	int n;
	cin >> n;
	if(n<=2)
	{
		printf("-1\n");
		return 0;
	}

	for(int i=1;i<=n;i++)
		scanf("%lld %lld",&x[i],&y[i]);

	for(int i=1;i<n;i++)
		x[i] -= x[n], y[i] -= y[n];
	n--;

	for(int i=1;i<=n;i++)
		have[topair(x[i],y[i])]=true;

	if(have.size()==1)
	{
		printf("-1\n");
		return 0;
	}

	int GCDx=0;
	for(int i=1;i<=n;i++)
		GCDx=gcd(GCDx,abs(x[i]));

	int GCDy=0;
	for(int i=1;i<=n;i++)
		GCDy=gcd(GCDy,abs(y[i]));

	for(int i=1;i<=n;i++)
		x[i] /= GCDx, y[i] /= GCDy;

	for(int i=1;i<=n;i++)
		id1[i]=i;

	random_shuffle(id1+1,id1+n+1);

	for(int i=1;i<=n;i++)
		id2[i]=i;

	random_shuffle(id2+1,id2+n+1);

	int ans=1;
	for(int t1=1;t1<=n;t1++)
	{
		int i=id1[t1];
		int GCD=gcd(abs(x[i]),abs(y[i])), t=0;
		for(int t2=1;t2<=n;t2++)
		{
			int j=id2[t2];
			if(i==j)
				val[j]=0;
			else
				val[j]=abs((x[i]*y[j]-y[i]*x[j])/GCD);

			t=gcd(t,val[j]);
			if(t && ans%t==0)
				break;
		}
		ans=lcm(ans,t);
	}

	if(n>20)
		printf("%lld\n",GCDx*GCDy);
	else
		printf("%lld\n",GCDx*GCDy*ans);
	return 0;
}

详细

Subtask #1:

score: 1
Accepted

Test #1:

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

input:

1
1 -1

output:

-1

result:

ok single line: '-1'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3660kb

input:

2
-455833 -283524
427847 159281

output:

-1

result:

ok single line: '-1'

Test #3:

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

input:

2
52420 -46322
-192914 87067

output:

-1

result:

ok single line: '-1'

Test #4:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

2
52446 -20773
179773 174566

output:

-1

result:

ok single line: '-1'

Test #5:

score: 0
Accepted
time: 0ms
memory: 3668kb

input:

2
-229012 -260770
-174790 -69382

output:

-1

result:

ok single line: '-1'

Test #6:

score: 0
Accepted
time: 0ms
memory: 3728kb

input:

2
-127294 418312
211124 37002

output:

-1

result:

ok single line: '-1'

Test #7:

score: 0
Accepted
time: 0ms
memory: 3556kb

input:

2
-129173 516840
46821 -187136

output:

-1

result:

ok single line: '-1'

Test #8:

score: 0
Accepted
time: 0ms
memory: 3648kb

input:

2
-90088 -7423
234488 19625

output:

-1

result:

ok single line: '-1'

Test #9:

score: 0
Accepted
time: 0ms
memory: 3680kb

input:

2
-48105 256695
15135 -80585

output:

-1

result:

ok single line: '-1'

Test #10:

score: 0
Accepted
time: 0ms
memory: 3688kb

input:

2
-251318 79061
182792 -129183

output:

-1

result:

ok single line: '-1'

Test #11:

score: 0
Accepted
time: 0ms
memory: 3636kb

input:

2
784850 417677
-217245 -460999

output:

-1

result:

ok single line: '-1'

Test #12:

score: 0
Accepted
time: 0ms
memory: 3736kb

input:

2
31270 410692
713271 917276

output:

-1

result:

ok single line: '-1'

Test #13:

score: 0
Accepted
time: 0ms
memory: 3748kb

input:

1
230862 -785444

output:

-1

result:

ok single line: '-1'

Test #14:

score: 0
Accepted
time: 0ms
memory: 3684kb

input:

2
222814 -279784
-73657 59849

output:

-1

result:

ok single line: '-1'

Test #15:

score: 0
Accepted
time: 0ms
memory: 3752kb

input:

2
72171 -104186
201480 105502

output:

-1

result:

ok single line: '-1'

Test #16:

score: 0
Accepted
time: 0ms
memory: 3640kb

input:

2
-17727 -27151
69235 15029

output:

-1

result:

ok single line: '-1'

Test #17:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

2
-44049 96618
173806 -21489

output:

-1

result:

ok single line: '-1'

Test #18:

score: 0
Accepted
time: 0ms
memory: 3624kb

input:

2
-81268 -53452
329866 -163275

output:

-1

result:

ok single line: '-1'

Subtask #2:

score: 10
Accepted

Dependency #1:

100%
Accepted

Test #19:

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

input:

3
1 1
1 3
3 2

output:

4

result:

ok single line: '4'

Test #20:

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

input:

3
123741 -122828
207774 110184
-33847 97305

output:

55218331445

result:

ok single line: '55218331445'

Test #21:

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

input:

3
-66381 27989
200580 40286
300930 -238824

output:

75745488660

result:

ok single line: '75745488660'

Test #22:

score: 0
Accepted
time: 0ms
memory: 5932kb

input:

3
-212612 305891
-228367 216399
56731 149417

output:

26569291626

result:

ok single line: '26569291626'

Test #23:

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

input:

3
58252 388020
34720 -409605
79321 85296

output:

23928862293

result:

ok single line: '23928862293'

Test #24:

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

input:

3
19556 -29968
-52219 72940
153159 -166846

output:

3924399074

result:

ok single line: '3924399074'

Test #25:

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

input:

3
201002 729262
-242878 -881858
183722 666542

output:

-1

result:

ok single line: '-1'

Test #26:

score: 0
Accepted
time: 0ms
memory: 3820kb

input:

3
-425251 245407
695099 -401393
18815 -10961

output:

-1

result:

ok single line: '-1'

Test #27:

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

input:

3
-74800 392658
-48320 253638
-13280 69678

output:

-1

result:

ok single line: '-1'

Test #28:

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

input:

3
376570 -515419
-67488 -129024
-72636 -138852

output:

6353363484

result:

ok single line: '6353363484'

Test #29:

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

input:

3
-365409 -46168
130463 -388367
-745599 -94238

output:

153937204850

result:

ok single line: '153937204850'

Test #30:

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

input:

3
4925 198059
583262 -155627
573812 -153107

output:

1884923460

result:

ok single line: '1884923460'

Test #31:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

1
-785465 814199

output:

-1

result:

ok single line: '-1'

Test #32:

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

input:

3
107518 -84340
137659 -15241
359437 347683

output:

4385745738

result:

ok single line: '4385745738'

Test #33:

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

input:

3
-203959 7059
-34097 -218222
96949 -293501

output:

16735132428

result:

ok single line: '16735132428'

Test #34:

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

input:

3
18005 283441
106422 -61165
137635 -175433

output:

652953322

result:

ok single line: '652953322'

Test #35:

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

input:

3
-233201 -63834
105532 -12105
337350 41702

output:

6234493209

result:

ok single line: '6234493209'

Test #36:

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

input:

3
36748 -26399
119775 -223323
224245 -89339

output:

31696939848

result:

ok single line: '31696939848'

Test #37:

score: 0
Accepted
time: 0ms
memory: 5936kb

input:

3
1000000 -110976
-1000000 -1000000
715820 1000000

output:

2474594840320

result:

ok single line: '2474594840320'

Test #38:

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

input:

3
48920 1000000
1000000 -680401
-1000000 -1000000

output:

3664766216920

result:

ok single line: '3664766216920'

Test #39:

score: 0
Accepted
time: 0ms
memory: 5996kb

input:

3
196198 1000000
1000000 -520790
-1000000 -1000000

output:

3426769956420

result:

ok single line: '3426769956420'

Subtask #3:

score: 10
Accepted

Test #40:

score: 10
Accepted
time: 57ms
memory: 13616kb

input:

99840
-359536 735499
-710626 400619
-468266 -282389
-192706 43659
204034 -543669
-100576 -749013
-118006 -283125
-341276 405771
560934 835595
-923936 506603
239724 956299
-680746 -737237
286204 982795
-847576 -282389
-949666 986475
996684 -429589
672984 -133717
140954 696491
-879116 -442837
985064 7...

output:

610880

result:

ok single line: '610880'

Test #41:

score: 0
Accepted
time: 65ms
memory: 13500kb

input:

99680
231534 501002
-604126 79487
-337934 -601948
-869810 434312
-819518 524087
598310 79487
161938 -480538
463182 827612
233566 807092
-51422 666872
155334 -561763
-819518 -419833
290970 947312
-679818 -16273
804558 435167
-387210 223982
161938 223982
35954 373607
-854570 -459163
831482 771182
5251...

output:

434340

result:

ok single line: '434340'

Test #42:

score: 0
Accepted
time: 62ms
memory: 12740kb

input:

99940
-366859 734803
-722883 -352755
266497 350263
892977 -547983
229061 -550941
-253023 -216687
187041 219125
907493 920171
445273 133343
965557 991163
102237 -66815
434577 732831
239757 -263029
-746567 -527277
-350051 879745
-943679 -528263
-928399 -528263
-867279 66295
-696907 -722505
-247675 465...

output:

753304

result:

ok single line: '753304'

Test #43:

score: 0
Accepted
time: 65ms
memory: 12860kb

input:

99940
629940 252040
422661 -727640
847455 297570
-129230 -330430
-539523 962465
267415 639045
-230737 382350
626528 -730
-940433 -799860
-667473 962465
-941286 675155
-880723 467915
727182 -864230
-936168 -94145
608615 697135
-668326 -963925
-947257 201800
-84021 -386950
-882429 735600
-606057 83922...

output:

669605

result:

ok single line: '669605'

Test #44:

score: 0
Accepted
time: 58ms
memory: 12936kb

input:

99831
758237 -429818
616877 504517
482027 -525398
-877633 -183173
773117 659227
89567 -748958
-14593 -305483
-586543 960547
41207 979582
-300103 -4568
493187 778297
-778123 229522
-338233 -273488
96077 -235823
462497 218992
752657 -429818
41207 188617
419717 389902
-245233 478597
878207 229522
-6655...

output:

376650

result:

ok single line: '376650'

Test #45:

score: 0
Accepted
time: 7ms
memory: 5352kb

input:

100000
-185103 330730
640566 330730
-197028 330730
-296469 330730
950535 330730
-436833 330730
-331893 330730
-130545 330730
236349 330730
-462267 330730
-796788 330730
782343 330730
977130 330730
210285 330730
-99909 330730
979830 330730
206793 330730
346842 330730
591111 330730
444690 330730
96783...

output:

-1

result:

ok single line: '-1'

Test #46:

score: 0
Accepted
time: 12ms
memory: 5360kb

input:

100000
897386 -498167
294216 -498167
-416934 -498167
407176 -498167
423246 -498167
-806934 -498167
-106964 -498167
185376 -498167
-17724 -498167
83516 -498167
481156 -498167
795446 -498167
134076 -498167
-338814 -498167
279526 -498167
970276 -498167
844856 -498167
-37134 -498167
-430634 -498167
-954...

output:

-1

result:

ok single line: '-1'

Test #47:

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

input:

100000
302722 467192
-710129 467192
735336 467192
-255381 467192
-822213 467192
-158389 467192
-193270 467192
358540 467192
-219100 467192
558733 467192
-507675 467192
-695590 467192
-409213 467192
-714518 467192
336567 467192
-533925 467192
-773689 467192
-968688 467192
62384 467192
876526 467192
6...

output:

-1

result:

ok single line: '-1'

Test #48:

score: 0
Accepted
time: 27ms
memory: 10816kb

input:

100000
672106 221171
672106 883430
672106 288290
672106 -658799
141374 -131948
141374 158602
141374 309649
141374 650353
141374 642956
141374 -768194
141374 -718417
672106 249667
672106 784734
141374 470511
141374 98035
672106 998389
672106 352965
141374 898640
672106 -536287
672106 -578615
141374 -...

output:

6899516

result:

ok single line: '6899516'

Test #49:

score: 0
Accepted
time: 33ms
memory: 10784kb

input:

100000
-816116 922009
315232 922009
-249356 922009
610000 949351
490680 949351
582100 949351
292220 922009
-987840 949351
595672 922009
-937660 922009
254856 922009
-13192 949351
583064 922009
-350928 922009
-646536 949351
-965832 922009
-193972 949351
-725520 922009
-820104 922009
315472 949351
670...

output:

109368

result:

ok single line: '109368'

Test #50:

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

input:

100000
-400087 361704
168413 -522429
259093 -522429
-133567 361704
-63837 -522429
507753 -522429
327713 361704
-564507 361704
-367307 361704
-783337 361704
-9157 -522429
-827827 -522429
725203 361704
414713 -522429
-125927 361704
877363 361704
812293 361704
-537707 -522429
910523 361704
634733 -5224...

output:

8841330

result:

ok single line: '8841330'

Test #51:

score: 0
Accepted
time: 0ms
memory: 3676kb

input:

1
393683 -129821

output:

-1

result:

ok single line: '-1'

Test #52:

score: 0
Accepted
time: 70ms
memory: 13904kb

input:

99540
40621 884068
577951 239764
-786692 884068
-889682 -915438
820492 -309724
-618176 881224
-464684 -8446
-336083 -615316
-278327 918718
773440 -147292
100609 -406310
594181 -347808
71233 39452
374938 -406310
498904 -276194
877597 797536
259045 305700
853963 605276
-670709 615112
-336083 784766
11...

output:

6

result:

ok single line: '6'

Test #53:

score: 0
Accepted
time: 70ms
memory: 13848kb

input:

99802
605960 -462294
118320 -783465
993870 91908
-864144 -429162
324342 290253
123132 695739
-723136 -925983
-762138 -997044
-580284 -224673
-955872 150849
552280 -842922
993870 -496248
882382 -536550
748448 -118500
936372 -155847
486570 -92055
-545100 -168126
865686 -500748
-362208 740640
-133172 -...

output:

6

result:

ok single line: '6'

Test #54:

score: 0
Accepted
time: 64ms
memory: 13844kb

input:

99969
-999614 -981865
648284 413937
-434763 -919276
739858 -950234
320831 -321652
98406 637373
579061 -919276
-744205 -203204
863982 385671
-35049 -919276
-998529 913303
-742903 413937
620942 -244930
-97328 59939
-256172 769281
710997 -713338
-254653 202615
508970 -919276
289800 -197147
745066 -1971...

output:

146041

result:

ok single line: '146041'

Test #55:

score: 0
Accepted
time: 63ms
memory: 13772kb

input:

99944
-998018 -997121
573972 520015
-31738 362215
409752 82831
-583898 -594737
-470848 738151
967267 -565553
140217 -256889
906577 -296009
-564858 -340937
562667 -389249
156877 82831
-226898 352183
822087 631591
955367 -429545
975597 951175
488887 152239
-188818 502783
-813568 -943457
236012 240223
...

output:

14280

result:

ok single line: '14280'

Test #56:

score: 0
Accepted
time: 64ms
memory: 13972kb

input:

99960
-997576 -997846
-800914 304194
-415036 522634
14204 507584
-409780 -266416
-351088 449964
-613012 694204
-408904 -225996
656750 247434
879254 -651266
-186838 949194
-788212 928984
616454 -118496
76400 752684
-226258 683884
-351088 -997846
-630532 16524
60194 -904106
-925306 973274
-398830 -615...

output:

188340

result:

ok single line: '188340'

Test #57:

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

input:

99544
-995276 -991700
-297341 -757684
333499 596428
334024 13092
-506186 893492
527434 -872988
-69176 536220
-191606 -596940
-36836 998004
816394 416372
133159 -684980
550009 -991700
281734 249380
-114851 -523100
-607931 787276
595999 248812
-872741 -527644
-739811 -831524
-309731 -680436
-401711 19...

output:

59640

result:

ok single line: '59640'

Test #58:

score: 0
Accepted
time: 61ms
memory: 13816kb

input:

99864
-990863 -998600
754487 300100
-154703 630880
377277 73660
-254533 -566255
-555363 -202175
467727 -607880
425517 -842645
-816663 -465800
-555363 331735
-475633 -4595
67737 436630
-255873 -455810
688827 -939770
-795893 -924785
665377 212410
-282003 73660
-818003 431635
67067 891730
-826043 -3353...

output:

371850

result:

ok single line: '371850'

Subtask #4:

score: 0
Wrong Answer

Test #59:

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

input:

5
0 0
1 0
-1 0
0 1
0 -1

output:

1

result:

ok single line: '1'

Test #60:

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

input:

100
-30 -13
-22 -19
32 9
-18 -11
50 19
16 5
-50 -17
-46 -21
10 -1
-56 -19
2 -11
-24 -15
-4 -11
-8 -11
4 7
-8 -5
34 9
18 7
20 1
-12 -11
-30 -23
-42 -13
-24 -3
16 11
-16 -7
-24 -21
2 -9
28 11
6 -9
-22 -11
4 -7
28 7
-36 -15
-20 -21
4 11
-8 5
20 5
30 21
58 19
4 -1
-46 -19
-6 3
2 11
46 15
18 -1
-24 -7
-2...

output:

4

result:

ok single line: '4'

Test #61:

score: -29
Wrong Answer
time: 1ms
memory: 5920kb

input:

100
66 27
38 -18
-39 -35
-4 9
-18 -24
24 26
17 6
-4 -26
-46 -6
52 1
17 -15
73 26
31 -10
-46 -27
-4 23
17 -29
-74 -37
-11 -39
-4 2
-11 10
3 -34
3 -41
-39 0
10 -14
31 -3
-18 -10
-25 -30
10 0
-53 -33
-18 -31
38 31
10 -35
24 5
52 22
-60 -32
-11 -32
17 13
-81 -36
3 29
-18 -45
-67 -31
45 23
31 -17
45 30
-...

output:

7

result:

wrong answer 1st lines differ - expected: '49', found: '7'

Subtask #5:

score: 0
Wrong Answer

Dependency #2:

100%
Accepted

Test #97:

score: 0
Wrong Answer
time: 2ms
memory: 6164kb

input:

2000
-141033 500883
-457875 317099
570107 -451327
-258775 83073
-48988 -181339
184246 148615
322139 -358663
205746 -28713
-246818 493221
315791 -439181
243789 -493721
-152335 -120605
-290252 397465
359491 -136925
321141 -96245
-410156 465995
192919 -87583
464977 -450703
99537 240803
-279989 264903
-...

output:

2

result:

wrong answer 1st lines differ - expected: '19966', found: '2'

Subtask #6:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

100%
Accepted

Dependency #3:

100%
Accepted

Dependency #4:

0%