QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#516848 | #9177. String and Nails | ucup-team1198# | AC ✓ | 62ms | 6340kb | C++20 | 1.5kb | 2024-08-12 22:25:04 | 2024-08-12 22:25:04 |
Judging History
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