QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#516848#9177. String and Nailsucup-team1198#AC ✓62ms6340kbC++201.5kb2024-08-12 22:25:042024-08-12 22:25:04

Judging History

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

  • [2024-08-12 22:25:04]
  • 评测
  • 测评结果:AC
  • 用时:62ms
  • 内存:6340kb
  • [2024-08-12 22:25:04]
  • 提交

answer

#include <map>
#include <set>
#include <array>
#include <cmath>
#include <deque>
#include <bitset>
#include <random>
#include <string>
#include <vector>
#include <cassert>
#include <complex>
#include <iomanip>
#include <iostream>
#include <algorithm>
#include <unordered_map>
#include <unordered_set>

using namespace std;

struct Point{
  long long x, y;
  Point(long long x, long long y): x(x), y(y) {}
  Point(): x(0), y(0) {}
};

Point operator+(const Point& a, const Point& b) {
  return Point(a.x + b.x, a.y + b.y);
}

Point operator-(const Point& a, const Point& b) {
  return Point(a.x - b.x, a.y - b.y);
}

long long cross(const Point& a, const Point& b) {
  return a.x * b.y - a.y * b.x;
}

long long sqrlen(const Point& P) {
  return P.x * P.x + P.y * P.y;
}

int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  
  int n;
  cin >> n;
  vector<Point> A(n);
  for (int i = 0; i < n; ++i) {
    cin >> A[i].x >> A[i].y;
  }
  for (int i = 1; i < n; ++i) {
    if (A[i].y < A[0].y || (A[i].y == A[0].y && A[i].x < A[0].y))
      swap(A[0], A[i]);
  }
  sort(A.begin() + 1, A.end(), [&A](const Point& a, const Point& b) {
    if (cross(a - A[0], b - A[0]) == 0)
      return sqrlen(a - A[0]) < sqrlen(b - A[0]);
    return cross(a - A[0], b - A[0]) > 0;
  });
  reverse(A.begin(), A.end());
  A.pop_back();
  cout << "YES\n";
  for (auto P : A)
    cout << P.x << ' ' << P.y << '\n';
  return 0;
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3592kb

input:

3
1 1
2 4
3 1

output:

YES
2 4
3 1

result:

ok Everything ok

Test #2:

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

input:

1
1000000000 0

output:

YES

result:

ok Everything ok

Test #3:

score: 0
Accepted
time: 57ms
memory: 6272kb

input:

200000
500000000 500000000
500244009 499720246
500488018 499440492
500732027 499160738
500976036 498880984
501220045 498601230
501464054 498321476
501708063 498041722
501952072 497761968
502196081 497482214
502440090 497202460
502684099 496922706
502928108 496642952
503172117 496363198
503416126 496...

output:

YES
500000000 500000000
500244009 499720246
500488018 499440492
500732027 499160738
500976036 498880984
501220045 498601230
501464054 498321476
501708063 498041722
501952072 497761968
502196081 497482214
502440090 497202460
502684099 496922706
502928108 496642952
503172117 496363198
503416126 496083...

result:

ok Everything ok

Test #4:

score: 0
Accepted
time: 53ms
memory: 6192kb

input:

200000
500000000 500000000
500222156 499645622
500444312 499291244
500666468 498936866
500888624 498582488
501110780 498228110
501332936 497873732
501555092 497519354
501777248 497164976
501999404 496810598
502221560 496456220
502443716 496101842
502665872 495747464
502888028 495393086
503110184 495...

output:

YES
500000000 500000000
500222156 499645622
500444312 499291244
500666468 498936866
500888624 498582488
501110780 498228110
501332936 497873732
501555092 497519354
501777248 497164976
501999404 496810598
502221560 496456220
502443716 496101842
502665872 495747464
502888028 495393086
503110184 495038...

result:

ok Everything ok

Test #5:

score: 0
Accepted
time: 49ms
memory: 6084kb

input:

200000
500000000 500000000
500000000 499720246
500000000 499440492
500000000 499160738
500000000 498880984
500000000 498601230
500000000 498321476
500000000 498041722
500000000 497761968
500000000 497482214
500000000 497202460
500000000 496922706
500000000 496642952
500000000 496363198
500000000 496...

output:

YES
500000000 500000000
500000000 499720246
500000000 499440492
500000000 499160738
500000000 498880984
500000000 498601230
500000000 498321476
500000000 498041722
500000000 497761968
500000000 497482214
500000000 497202460
500000000 496922706
500000000 496642952
500000000 496363198
500000000 496083...

result:

ok Everything ok

Test #6:

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

input:

200000
500000000 500000000
500040773 499984682
500081546 499969364
500122319 499954046
500163092 499938728
500203865 499923410
500244638 499908092
500285411 499892774
500326184 499877456
500366957 499862138
500407730 499846820
500448503 499831502
500489276 499816184
500530049 499800866
500570822 499...

output:

YES
500000000 500000000
500040773 499984682
500081546 499969364
500122319 499954046
500163092 499938728
500203865 499923410
500244638 499908092
500285411 499892774
500326184 499877456
500366957 499862138
500407730 499846820
500448503 499831502
500489276 499816184
500530049 499800866
500570822 499785...

result:

ok Everything ok

Test #7:

score: 0
Accepted
time: 51ms
memory: 6188kb

input:

200000
500000000 500000000
500003221 499984460
500006442 499968920
500009663 499953380
500012884 499937840
500016105 499922300
500019326 499906760
500022547 499891220
500025768 499875680
500028989 499860140
500032210 499844600
500035431 499829060
500038652 499813520
500041873 499797980
500045094 499...

output:

YES
500000000 500000000
500003221 499984460
500006442 499968920
500009663 499953380
500012884 499937840
500016105 499922300
500019326 499906760
500022547 499891220
500025768 499875680
500028989 499860140
500032210 499844600
500035431 499829060
500038652 499813520
500041873 499797980
500045094 499782...

result:

ok Everything ok

Test #8:

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

input:

100
29 58
10 60
7 34
47 47
48 29
37 25
30 42
47 32
60 28
0 2
53 1
42 32
3 34
52 24
45 7
32 60
40 1
15 22
60 43
17 19
17 54
24 22
21 38
37 26
11 46
18 59
27 18
11 19
34 14
8 16
50 38
29 10
34 59
5 28
14 36
34 41
57 53
25 8
17 0
35 5
60 52
36 10
38 8
50 41
38 18
45 39
44 16
33 21
18 19
51 25
35 58
49 ...

output:

YES
0 2
0 9
1 13
3 20
2 22
1 24
2 25
9 14
8 16
8 17
5 28
3 34
1 43
6 32
11 19
7 34
2 52
11 46
10 60
15 22
14 36
16 23
16 26
16 40
16 49
17 54
17 49
17 19
17 4
18 59
18 54
18 31
18 19
20 49
19 30
21 41
21 38
21 34
21 31
24 50
20 19
25 49
29 58
32 60
34 59
30 42
35 58
24 22
30 40
34 41
30 28
44 57
50 ...

result:

ok Everything ok

Test #9:

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

input:

100
42 46
57 9
21 58
30 46
43 25
43 31
15 28
33 8
31 28
48 26
47 54
57 13
33 11
4 1
5 0
28 45
4 10
9 56
54 49
6 20
49 22
33 43
31 15
42 56
51 15
3 29
46 23
22 29
49 50
16 20
60 48
41 16
42 53
14 41
17 45
31 6
50 19
6 0
57 50
36 40
29 34
0 33
52 59
17 7
37 23
20 31
8 14
56 28
2 53
44 3
54 18
22 59
53...

output:

YES
2 1
4 1
0 29
0 33
4 9
4 10
3 29
2 47
2 53
6 20
9 56
7 19
13 46
14 51
12 36
8 14
16 51
14 41
14 38
10 21
12 29
17 45
21 58
10 18
22 59
23 60
15 28
18 36
24 51
17 30
12 17
21 38
20 31
10 10
28 45
30 46
16 20
22 29
33 43
42 56
29 36
11 9
42 53
36 44
29 34
35 41
36 40
47 54
52 59
42 46
48 52
44 45
4...

result:

ok Everything ok

Test #10:

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

input:

100
47 30
32 14
26 29
13 41
45 17
42 34
56 2
11 57
11 28
39 0
40 47
19 43
59 57
21 39
33 45
16 17
17 22
60 42
39 55
52 18
28 48
42 6
44 48
56 29
26 40
41 31
43 40
24 32
9 44
41 23
30 5
30 36
36 35
22 12
6 46
57 44
9 21
25 29
3 0
18 26
25 35
29 50
23 42
43 15
58 49
37 10
42 30
8 40
6 18
8 27
30 44
47...

output:

YES
3 0
9 0
12 1
8 4
13 8
22 6
6 18
30 5
2 22
9 21
22 12
16 17
19 16
33 5
8 27
11 28
17 22
26 13
5 35
8 32
18 26
27 15
8 40
6 46
9 44
13 41
11 46
7 55
11 53
9 58
27 24
32 14
11 57
25 29
12 56
15 51
24 32
19 43
21 39
26 29
17 50
25 35
16 58
23 42
19 54
26 40
30 36
26 54
28 46
28 48
30 44
29 50
37 10
...

result:

ok Everything ok

Test #11:

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

input:

100
60 19
19 20
36 57
54 36
40 17
45 45
32 49
58 41
47 28
26 28
38 48
39 24
24 43
30 8
53 45
12 2
35 30
54 19
33 0
36 24
60 8
2 27
1 25
0 59
13 13
47 52
22 60
6 36
54 51
25 8
52 51
57 9
39 45
51 41
6 51
32 43
52 40
57 39
4 4
36 6
9 18
21 13
50 1
50 33
38 29
31 53
47 37
56 45
53 21
13 34
1 23
42 18
3...

output:

YES
12 2
4 4
29 1
13 13
12 15
1 23
9 18
1 25
2 27
25 8
21 13
5 32
6 36
12 28
19 20
15 28
8 39
5 45
11 36
7 43
13 34
0 59
6 51
16 36
30 7
18 36
31 5
12 53
15 46
30 8
17 43
21 34
16 56
16 59
19 54
26 28
24 43
22 60
27 38
31 15
29 35
31 53
32 43
32 49
32 58
34 39
36 57
36 49
35 30
38 58
36 33
38 48
36 ...

result:

ok Everything ok

Test #12:

score: 0
Accepted
time: 44ms
memory: 6192kb

input:

200000
658 517
723 846
391 133
564 468
633 202
556 954
760 456
151 969
436 184
984 490
896 355
871 985
101 474
136 92
220 747
833 272
839 145
783 485
78 888
819 829
177 209
233 546
709 414
105 273
955 945
748 593
182 181
160 645
532 327
491 354
512 24
190 152
147 539
476 300
474 289
478 772
157 853
...

output:

YES
7 0
9 0
36 0
42 0
45 0
48 0
57 0
64 0
72 0
79 0
92 0
93 0
102 0
107 0
108 0
113 0
117 0
118 0
125 0
128 0
130 0
132 0
136 0
138 0
143 0
145 0
147 0
153 0
157 0
168 0
171 0
183 0
190 0
196 0
205 0
207 0
216 0
218 0
219 0
220 0
226 0
227 0
237 0
238 0
240 0
255 0
257 0
258 0
259 0
263 0
264 0
273 ...

result:

ok Everything ok

Test #13:

score: 0
Accepted
time: 43ms
memory: 6204kb

input:

200000
378 842
689 0
407 360
925 706
35 241
517 296
157 365
379 630
234 828
370 628
28 136
367 483
546 638
995 367
901 983
479 253
812 610
454 878
250 0
618 535
221 325
346 583
470 440
997 887
197 643
613 711
687 194
468 519
837 984
844 159
220 857
101 701
120 531
391 802
361 11
519 944
370 285
766 ...

output:

YES
13 0
52 0
55 0
58 0
61 0
62 0
64 0
71 0
72 0
74 0
78 0
85 0
90 0
91 0
93 0
95 0
99 0
102 0
107 0
111 0
120 0
124 0
126 0
128 0
129 0
130 0
149 0
151 0
164 0
180 0
182 0
185 0
187 0
190 0
194 0
205 0
207 0
208 0
225 0
229 0
230 0
233 0
239 0
243 0
249 0
250 0
251 0
253 0
254 0
293 0
294 0
311 0
3...

result:

ok Everything ok

Test #14:

score: 0
Accepted
time: 47ms
memory: 6092kb

input:

200000
860 546
26 774
422 975
277 563
812 661
98 259
937 887
599 299
41 472
376 385
154 919
855 361
229 191
472 22
572 217
506 227
15 75
116 501
803 733
799 860
893 53
459 238
223 848
127 889
821 952
105 439
182 960
529 12
761 640
824 576
920 681
631 241
85 531
314 542
240 734
933 124
972 710
593 79...

output:

YES
0 0
1 0
5 0
6 0
9 0
10 0
11 0
15 0
26 0
29 0
32 0
33 0
39 0
51 0
52 0
55 0
60 0
76 0
79 0
86 0
94 0
98 0
99 0
104 0
105 0
106 0
109 0
112 0
116 0
119 0
121 0
122 0
123 0
128 0
132 0
133 0
137 0
139 0
147 0
149 0
161 0
163 0
165 0
166 0
178 0
183 0
190 0
192 0
217 0
223 0
224 0
225 0
238 0
242 0
...

result:

ok Everything ok

Test #15:

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

input:

200000
824175840 488750041
893673855 438646868
506562578 184637200
761446161 4953165
923499503 652902113
817153029 230202371
946810300 303530617
906604390 328096095
697686565 540398115
228789229 425571938
208244496 326466740
966638889 820582012
90257817 655318977
216563076 98765025
574316317 6924138...

output:

YES
40991399 27924
32844906 117104
11382081 422395
4595473 528364
52227433 150125
30916853 444336
9497674 773129
1770923 1101007
19698749 1026432
33017809 850115
26094957 1116410
23940673 1212162
47913809 565001
4894736 1990731
19497534 1727715
16146686 1997025
30957609 1426097
4465729 2668925
53194...

result:

ok Everything ok

Test #16:

score: 0
Accepted
time: 52ms
memory: 6192kb

input:

200000
1433020 626069928
229180372 161196849
900502139 7107082
972307164 933305447
771737287 191739450
323730061 8183918
949678944 490542724
523994382 985258262
953870673 374422949
96559137 217074405
627267233 174567394
573638149 400359707
141414987 321531687
809839237 701887439
316867805 708592231
...

output:

YES
23433013 11477
97185208 42576
22359228 59463
16806070 60407
56389828 64110
451542217 18424
196653493 58669
502926810 16021
102866668 100950
293374934 71996
274696243 80328
344766143 64260
294175718 84439
24072600 178114
347383063 81578
270511453 122937
112885914 224216
47374558 257270
346625811 ...

result:

ok Everything ok

Test #17:

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

input:

5
0 1000000000
1000000000 0
0 0
1000000000 1000000000
500000000 500000000

output:

YES
0 0
0 1000000000
500000000 500000000
1000000000 1000000000

result:

ok Everything ok

Test #18:

score: 0
Accepted
time: 53ms
memory: 6192kb

input:

200000
178690201 763389816
228250401 473681415
925845481 534609673
814571948 566690436
30040488 435609496
125274385 81132757
247514879 898893195
67755446 273824208
841458560 282076711
669361754 713609582
46289970 432733465
107008482 685170111
487539449 987744399
108148105 83671488
722982805 72477062...

output:

YES
4293846 15352
33761525 16955
109529835 24665
17655547 51649
100139447 38388
173647365 24144
146620611 67874
42673172 156607
99555594 183750
98960401 187786
148056835 142002
6828170 437889
19954355 490123
89488778 336982
93282444 341595
45835580 462953
8827597 569054
29147531 521282
142965385 241...

result:

ok Everything ok

Test #19:

score: 0
Accepted
time: 59ms
memory: 6124kb

input:

200000
60980090 900709703
858724210 491198688
319785041 430708482
25432950 790010009
878278273 384512251
926818709 490518084
176754595 380872594
685145439 562390155
24013739 116101546
537131662 136515830
833908927 617270608
8975034 264947807
833663911 990393598
406456974 391826610
170567002 74094902...

output:

YES
235120196 7071
1359407 7560
218807049 15901
222374947 16557
50468751 29069
583225659 19374
271890381 50484
328920534 46148
190960107 65928
351882821 62793
134718846 93085
35671335 110675
638904676 25186
65601095 154253
90333315 152515
50098636 177759
587833173 53970
461579461 87799
181993012 162...

result:

ok Everything ok

Test #20:

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

input:

200000
943269980 38029589
857794239 582344890
713724603 253178364
572730442 718362290
726516058 923349589
728363033 563466923
179623240 789223065
933939212 555988811
575165138 655159089
404901571 633051007
957964373 170403969
910941587 918354431
884821081 656606308
999733135 363545243
281714710 9784...

output:

YES
131733883 6291
314225416 7395
274468243 11187
30723861 44353
26547652 56175
431821643 13027
35575103 62578
71479668 96003
77558342 96527
357299460 41020
158287148 91139
153651212 127742
220110302 114043
127534007 202799
50114802 253297
96307680 236845
52861379 275381
25517322 313060
87742640 301...

result:

ok Everything ok

Test #21:

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

input:

200000
415494452 470316769
193300756 599862164
34035236 780680955
709962518 351747279
279786550 167219634
529907356 46481178
477459176 271202463
182732984 844554758
757720317 857780143
977704188 129586183
376987109 723537332
107875431 498132126
230945542 322819018
298042004 376733073
319233490 99464...

output:

YES
58451787 19583
56622465 49548
103099292 98954
300662832 42804
188268986 98653
14731812 179918
230979087 93947
53941287 194930
117884720 198029
143884047 185279
225538886 137644
142808807 215937
159239344 238332
36318806 363212
164667100 245579
109637052 306691
23600846 417788
132017188 300239
44...

result:

ok Everything ok

Test #22:

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

input:

100
500000000 500000000
500000000 489443908
500000000 478887816
500000000 468331724
500000000 457775632
500000000 447219540
500000000 436663448
500000000 426107356
500000000 415551264
500000000 404995172
510556092 500000000
510556092 489443908
510556092 478887816
510556092 468331724
510556092 457775...

output:

YES
500000000 500000000
500000000 489443908
500000000 478887816
500000000 468331724
500000000 457775632
500000000 447219540
500000000 436663448
500000000 426107356
500000000 415551264
510556092 500000000
510556092 489443908
510556092 478887816
510556092 468331724
510556092 457775632
521112184 500000...

result:

ok Everything ok

Test #23:

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

input:

200000
571121104 497369632
424233472 502802176
635651583 494983014
459708961 501490138
627796261 495273538
615283564 495736312
535668814 498680812
639758509 494831122
592923243 496563294
523187049 499142442
426839493 502705794
378712816 504485728
394223105 503912090
581741325 496976850
619310348 495...

output:

YES
359400703 505199974
359403515 505199870
359404921 505199818
359405624 505199792
359407030 505199740
359408436 505199688
359409842 505199636
359411951 505199558
359414060 505199480
359416169 505199402
359417575 505199350
359418278 505199324
359418981 505199298
359422496 505199168
359423902 505199...

result:

ok Everything ok

Extra Test:

score: 0
Extra Test Passed