QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#294761 | #4829. Mark on a Graph | ucup-team055# | 0 | 1007ms | 4120kb | C++23 | 2.4kb | 2023-12-30 16:26:03 | 2023-12-30 16:26:03 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll INF = LLONG_MAX / 4;
#define rep(i, a, b) for(ll i = a; i < b; i++)
#define all(a) begin(a), end(a)
template<class T> bool chmin(T& a, T b) { if(a <= b) return 0; a = b; return 1; }
template<class T> bool chmax(T& a, T b) { if(a >= b) return 0; a = b; return 1; }
mt19937 rnd(168);
int main() {
// cin.tie(0)->sync_with_stdio(0);
ll lo = 1387, hi = 1500;
ll ans = -(lo * 3 + hi * 2) / 5;
cerr << ans << endl;
ll N, M;
cin >> N >> M;
vector g(N, vector<ll>{});
rep(i, 0, M) {
ll A, B;
cin >> A >> B;
A--; B--;
g[A].push_back(B);
g[B].push_back(A);
}
vector<ll> deg(N);
rep(i, 0, N) deg[i] = g[i].size();
ranges::sort(deg);
deg.resize(10);
rep(i, 0, 10) cerr << deg[i] << " \n"[i == 9];
rep(_, 0, 30000) {
vector<ll> d(N);
rep(m, 0, M * 2) d[rnd() % N]++;
vector<ll> cnt(M * 2 + 1);
for(ll x : d) cnt[x]++;
vector<ll> A, B;
[&]{
rep(i, 0, M * 2 + 1) rep(_, 0, cnt[i]) {
A.push_back(i);
if(A.size() == 10) return;
}
}();
if(deg <= A) {
ans++;
continue;
}
[&]{
ll c = 10;
rep(i, 0, M * 2 + 1) rep(_, 0, cnt[i]) {
if(c) {
c--;
cnt[i + 1]++;
}
else {
B.push_back(i);
if(B.size() == 10) return;
}
}
}();
if(B <= deg) ans--;
}
cerr << ans << endl;
if(ans < 0) {
puts("ok");
return 0;
}
puts("mark");
puts("5");
vector<ll> idx(N);
rep(i, 0, N) idx[i] = i;
auto add_edge = [&](ll i, ll j) -> bool {
if(i == j) return 0;
if(ranges::count(g[i], j)) return 0;
g[i].push_back(j);
g[j].push_back(i);
cout << i + 1 << ' ' << j + 1 << endl;
return 1;
};
rep(_, 0, 5) {
ranges::shuffle(idx, rnd);
ranges::sort(idx, less<>{}, [&](ll i) { return g[i].size(); });
rep(j, 1, N) if(add_edge(idx[0], idx[j])) break;
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 758ms
memory: 3828kb
input:
1000 3560 603 151 415 20 102 569 895 552 678 734 24 614 689 518 440 223 751 919 223 433 711 551 502 634 706 583 812 501 514 535 780 751 720 530 532 384 888 139 864 791 292 675 171 881 30 592 464 557 280 299 654 650 894 335 250 532 792 10 83 969 118 771 579 300 852 983 243 940 957 939 817 889 911 319...
output:
mark 5 880 501 880 691 862 655 762 501 576 463
input:
1000 3565 626 777 295 222 665 338 534 338 682 101 706 833 155 950 656 841 184 95 383 221 86 259 815 771 37 355 759 167 402 763 582 250 950 401 224 873 974 302 521 380 368 12 676 977 920 351 643 831 511 688 553 125 506 102 70 757 464 840 87 733 956 373 600 53 178 201 182 394 201 34 951 583 557 937 25...
output:
ok
result:
ok all right
Test #2:
score: 100
Accepted
time: 407ms
memory: 3740kb
input:
1000 2000 457 335 160 497 464 992 892 255 853 3 308 301 970 363 541 299 89 418 425 128 626 827 603 854 484 874 755 295 607 483 798 552 356 850 320 357 254 940 675 901 168 525 301 636 520 555 773 910 343 701 889 966 218 529 909 950 71 64 682 284 424 138 721 792 670 544 386 72 654 909 725 235 592 437 ...
output:
mark 5 279 114 508 585 623 633 493 224 861 345
input:
1000 2005 610 181 320 426 386 831 377 551 97 233 106 231 643 993 440 112 246 835 141 940 505 764 220 6 935 217 728 734 562 570 651 962 699 108 731 324 591 632 764 431 683 435 634 379 415 671 904 500 999 663 70 498 978 234 532 563 608 99 457 547 528 479 411 674 235 758 569 980 414 78 164 502 633 94 3...
output:
ok
result:
ok all right
Test #3:
score: 100
Accepted
time: 1007ms
memory: 4044kb
input:
1000 5000 449 632 597 26 701 322 249 190 411 770 666 596 989 995 112 861 445 818 544 659 24 680 739 593 344 439 193 932 600 526 574 869 216 918 716 793 259 686 555 993 255 578 659 271 328 524 729 672 39 771 241 866 27 790 417 109 56 403 338 299 387 232 280 306 589 794 833 419 900 802 54 697 539 807 ...
output:
mark 5 98 231 673 98 514 673 563 231 8 970
input:
1000 5005 551 5 501 992 969 219 208 518 392 348 866 127 603 361 435 592 24 378 502 805 184 578 106 119 324 570 128 752 917 352 647 61 128 365 345 143 992 118 13 247 309 181 431 582 471 334 669 461 326 549 455 830 923 926 323 888 321 463 57 143 424 306 5 115 344 363 781 694 421 274 755 462 530 649 50...
output:
ok
result:
ok all right
Test #4:
score: 100
Accepted
time: 728ms
memory: 3832kb
input:
1000 3156 347 398 792 278 754 442 413 757 391 130 636 625 207 437 81 415 47 974 887 779 524 619 379 894 868 594 653 919 29 117 123 867 632 505 648 147 130 420 495 876 637 659 882 348 462 878 282 646 398 525 419 224 926 448 305 934 855 570 396 345 774 918 336 123 502 491 984 783 845 142 790 594 754 4...
output:
mark 5 964 256 755 52 823 737 518 564 747 761
input:
1000 3161 759 496 499 167 403 962 342 814 900 154 990 212 612 359 712 549 715 777 539 243 441 28 468 773 111 685 856 38 986 660 609 811 7 738 668 533 481 64 925 392 529 865 415 272 853 843 954 311 697 336 703 45 940 42 295 871 861 501 617 957 974 636 879 919 924 421 127 255 923 765 125 517 881 664 5...
output:
ok
result:
ok all right
Test #5:
score: 100
Accepted
time: 699ms
memory: 3816kb
input:
1000 3433 634 21 789 966 541 959 213 381 366 781 107 649 747 122 336 869 222 648 833 972 929 524 712 524 744 525 568 679 634 163 901 501 56 518 128 587 720 117 208 439 860 85 852 168 934 947 34 858 520 568 408 464 232 432 999 504 71 982 957 372 570 436 281 309 410 405 521 275 554 589 4 707 498 148 5...
output:
mark 5 214 4 473 214 104 330 343 1 473 4
input:
1000 3438 246 901 191 554 344 682 96 559 647 120 735 811 18 372 644 165 316 36 563 502 266 521 845 45 607 450 917 666 567 382 983 160 227 300 341 848 810 211 800 435 774 369 40 776 182 66 694 528 701 539 188 541 784 754 311 347 131 959 182 222 86 971 802 441 697 539 788 38 82 305 268 966 866 909 745...
output:
ok
result:
ok all right
Test #6:
score: 100
Accepted
time: 623ms
memory: 3980kb
input:
1000 3057 985 223 432 967 405 822 845 650 893 646 599 718 754 710 333 73 392 355 895 496 200 562 816 36 457 953 9 623 889 662 482 590 249 29 689 694 185 990 285 690 12 323 611 560 903 722 476 86 105 666 441 193 695 640 36 617 840 42 80 527 977 539 606 150 384 585 784 648 919 360 157 532 568 98 995 8...
output:
mark 5 28 7 239 40 119 330 7 385 112 74
input:
1000 3062 308 42 919 747 772 470 49 962 294 380 989 134 596 589 66 334 811 816 669 33 123 849 316 66 990 648 653 416 467 520 22 995 951 446 770 799 3 705 225 73 529 609 17 263 736 986 93 939 706 283 136 971 771 678 212 413 721 356 257 761 695 62 622 464 269 585 262 15 889 339 506 107 191 192 65 274 ...
output:
ok
result:
ok all right
Test #7:
score: 100
Accepted
time: 675ms
memory: 4036kb
input:
1000 3085 484 405 841 443 661 315 392 941 355 558 523 394 773 929 673 840 5 707 255 610 744 58 301 794 505 33 668 533 787 945 747 810 803 115 340 900 791 909 596 418 129 491 460 698 156 233 664 502 231 465 795 486 829 102 608 212 253 344 419 557 100 421 321 793 207 302 544 479 33 916 736 129 6 156 9...
output:
mark 5 729 193 784 193 808 658 377 601 291 374
input:
1000 3090 192 821 332 248 787 417 580 168 151 953 533 701 888 479 321 716 928 174 613 328 160 795 7 875 158 144 571 410 518 143 952 743 625 4 52 344 568 778 293 474 458 389 533 863 773 219 31 124 108 148 335 176 907 397 436 930 22 581 577 197 423 318 909 488 843 44 911 718 530 858 770 595 57 65 53 3...
output:
ok
result:
ok all right
Test #8:
score: 100
Accepted
time: 982ms
memory: 4084kb
input:
1000 4289 963 66 959 467 930 83 419 699 731 948 702 583 699 245 636 721 859 551 377 251 90 889 286 843 908 47 864 979 223 948 269 684 85 579 162 376 414 255 602 884 65 132 842 907 488 360 553 898 649 249 253 711 675 632 629 446 708 413 819 511 512 113 189 76 242 464 828 261 440 737 643 389 75 907 49...
output:
mark 5 682 51 231 51 69 430 231 130 682 588
input:
1000 4294 30 4 54 539 935 953 570 377 445 724 495 798 933 848 128 897 153 130 610 299 963 338 701 962 154 660 932 18 766 831 408 726 321 601 92 598 142 477 261 726 320 310 128 31 880 344 662 446 163 733 342 628 974 37 444 406 759 810 413 567 67 110 937 857 799 529 365 240 269 887 212 670 781 759 780...
output:
ok
result:
ok all right
Test #9:
score: 100
Accepted
time: 968ms
memory: 4068kb
input:
1000 4763 544 167 316 76 78 841 699 1 645 745 827 262 568 545 595 81 924 561 108 253 397 626 142 967 613 397 723 633 711 259 363 249 5 436 165 88 178 463 734 529 195 324 135 41 1000 136 215 967 371 638 588 753 542 909 633 106 537 852 111 232 303 500 892 461 868 300 772 667 40 172 956 575 613 163 933...
output:
mark 5 571 317 153 23 644 164 571 592 224 140
input:
1000 4768 450 532 910 207 875 103 49 254 17 389 342 809 271 691 347 759 470 80 193 960 395 936 145 907 641 837 918 904 320 345 500 72 278 444 802 50 916 187 596 379 467 116 150 90 70 248 516 163 767 408 429 287 66 440 667 585 470 562 933 148 510 872 880 793 396 746 530 497 638 202 414 757 604 112 64...
output:
ok
result:
ok all right
Test #10:
score: 100
Accepted
time: 857ms
memory: 3868kb
input:
1000 4250 747 446 769 425 773 753 217 298 217 4 514 774 752 3 905 857 532 410 224 250 367 33 29 541 809 996 76 960 25 603 532 600 518 304 546 95 735 413 312 476 83 534 157 62 170 836 668 976 244 557 972 860 828 170 975 468 677 714 800 170 530 191 216 930 242 728 318 505 269 162 579 963 769 822 171 4...
output:
mark 5 385 359 385 310 899 83 305 816 385 853
input:
1000 4255 426 864 703 85 233 301 835 12 218 598 590 999 874 500 531 639 378 512 83 157 128 210 512 152 14 36 309 705 600 242 847 8 579 404 394 524 600 888 872 342 604 290 892 920 845 728 545 143 31 818 87 797 984 627 404 462 377 959 344 270 805 578 848 145 265 174 625 398 123 425 184 94 579 176 240 ...
output:
ok
result:
ok all right
Test #11:
score: 100
Accepted
time: 677ms
memory: 3776kb
input:
1000 3336 161 745 81 702 879 347 452 553 809 32 359 925 984 783 558 366 611 89 948 530 565 496 123 348 534 986 991 511 322 407 6 878 20 897 188 150 527 440 487 333 218 572 597 575 308 684 50 780 900 451 763 785 210 682 964 992 811 537 537 167 320 133 523 899 629 732 435 281 826 405 868 567 201 858 2...
output:
mark 5 519 615 206 273 309 311 250 948 615 974
input:
1000 3341 95 599 727 514 788 334 161 211 297 202 62 338 621 407 350 617 952 432 154 541 3 958 519 348 653 820 58 684 424 105 991 615 576 77 373 564 213 502 379 925 946 989 369 533 153 420 633 986 608 975 281 502 109 289 358 82 370 812 802 918 932 30 236 185 791 119 766 769 372 356 599 984 668 921 33...
output:
ok
result:
ok all right
Test #12:
score: 100
Accepted
time: 705ms
memory: 4040kb
input:
1000 3482 910 881 481 989 349 262 963 679 970 752 651 210 86 339 724 310 765 410 118 619 662 351 568 148 292 61 136 385 997 772 210 735 816 310 698 649 581 313 414 280 92 872 965 925 35 930 813 29 617 210 854 940 486 479 412 644 660 623 126 85 664 327 459 165 266 113 108 206 686 660 918 536 173 366 ...
output:
mark 5 887 938 497 342 497 887 388 364 292 787
input:
1000 3487 216 73 26 845 101 663 178 269 799 60 89 532 504 982 513 473 179 605 144 158 961 559 714 109 932 71 568 322 464 363 165 187 581 768 922 455 487 770 327 666 431 549 733 110 544 682 172 624 947 240 114 630 262 218 625 812 631 840 148 402 543 49 614 843 539 804 97 615 931 586 411 391 376 261 3...
output:
ok
result:
ok all right
Test #13:
score: 100
Accepted
time: 492ms
memory: 3976kb
input:
1000 2141 358 723 692 581 753 295 864 391 984 462 525 271 508 897 739 537 124 933 577 499 863 37 279 622 361 605 454 951 527 837 1 224 641 404 479 220 931 126 182 719 464 451 805 452 529 800 292 689 17 320 728 790 967 41 412 752 276 535 643 636 611 56 802 414 861 603 857 722 1000 584 435 118 266 392...
output:
mark 5 925 255 323 696 982 491 609 496 184 853
input:
1000 2146 595 482 435 67 324 320 821 542 372 998 408 746 886 882 184 960 211 898 433 201 399 745 986 692 943 831 92 121 561 879 414 271 27 223 355 356 407 480 453 625 796 98 412 425 760 257 441 824 680 49 473 761 315 26 735 379 131 938 110 328 491 753 646 788 597 526 515 710 409 587 338 550 308 357 ...
output:
ok
result:
ok all right
Test #14:
score: 100
Accepted
time: 598ms
memory: 3760kb
input:
1000 2950 244 361 694 442 547 577 545 866 488 207 888 997 263 45 850 200 30 927 195 510 274 582 467 158 664 667 880 573 522 986 736 375 206 326 999 940 875 609 151 161 602 673 664 200 827 579 12 190 300 249 95 502 951 317 669 243 350 841 692 572 619 302 955 999 480 891 109 779 198 893 105 442 214 14...
output:
mark 5 58 383 58 765 66 507 672 727 789 387
input:
1000 2955 749 585 407 754 802 289 160 759 799 65 818 116 867 14 353 939 816 753 543 229 865 924 204 215 666 760 537 995 256 29 570 257 526 578 713 583 181 541 960 66 931 44 475 916 770 761 857 816 3 292 24 367 462 578 262 59 604 329 307 590 933 975 293 776 248 22 279 841 167 15 103 209 260 541 482 2...
output:
ok
result:
ok all right
Test #15:
score: 100
Accepted
time: 628ms
memory: 3952kb
input:
1000 2725 336 461 575 6 961 482 496 574 134 336 671 452 172 957 633 89 909 334 222 155 90 660 201 950 436 671 726 683 487 356 536 389 107 844 403 732 550 608 607 54 718 438 960 144 710 278 398 747 152 501 86 385 34 251 309 822 773 321 329 213 897 948 356 401 290 329 278 591 683 454 122 523 729 436 4...
output:
mark 5 62 906 923 802 381 746 923 115 53 849
input:
1000 2730 863 826 669 860 482 579 442 461 32 303 420 513 832 865 711 899 671 586 314 138 593 6 750 49 195 996 285 166 508 819 228 764 210 787 707 193 391 89 16 349 923 728 32 566 595 214 534 553 382 220 489 624 570 969 385 891 989 343 69 616 200 478 455 886 29 539 349 37 605 460 871 164 324 288 236 ...
output:
ok
result:
ok all right
Test #16:
score: 100
Accepted
time: 657ms
memory: 3820kb
input:
1000 2812 357 725 462 948 927 875 21 284 52 197 457 876 744 315 990 255 660 522 51 971 392 275 736 77 131 216 581 438 495 271 965 111 376 89 824 363 628 13 33 585 836 144 791 404 916 588 668 243 960 335 505 368 744 264 332 893 65 320 205 81 929 44 135 224 306 351 938 505 70 927 825 634 161 492 434 1...
output:
mark 5 25 401 643 785 832 843 997 537 25 886
input:
1000 2817 559 677 353 134 770 579 219 117 930 242 308 94 994 900 49 414 176 977 59 392 802 403 873 525 629 143 476 187 573 636 99 654 186 353 514 445 171 286 45 788 153 207 722 703 391 80 268 83 362 535 685 389 524 740 279 930 688 898 312 394 961 353 603 954 528 805 172 296 177 897 766 214 736 205 7...
output:
ok
result:
ok all right
Test #17:
score: 100
Accepted
time: 549ms
memory: 4016kb
input:
1000 2616 518 38 164 144 301 140 711 11 36 636 443 779 107 901 467 922 759 675 229 276 467 880 975 435 382 460 238 663 639 927 74 953 777 326 689 944 152 237 501 789 795 889 95 376 390 401 279 64 520 803 273 292 333 454 202 485 860 54 872 641 101 951 236 726 464 847 992 656 576 565 739 176 562 327 2...
output:
mark 5 411 743 758 184 449 444 406 83 433 508
input:
1000 2621 669 76 738 336 934 815 281 256 323 538 928 12 993 942 80 39 373 709 789 477 256 233 513 977 960 465 248 745 45 588 947 939 959 552 328 584 102 949 432 384 853 545 224 152 491 442 530 730 877 833 691 823 124 78 230 959 623 718 22 637 921 775 81 20 610 950 946 36 348 463 348 789 535 154 572 ...
output:
ok
result:
ok all right
Test #18:
score: 100
Accepted
time: 973ms
memory: 4120kb
input:
1000 4792 659 787 666 143 711 116 742 958 604 434 293 882 175 28 557 753 106 808 527 599 942 249 843 109 174 76 429 255 415 489 463 540 878 235 688 87 629 402 927 418 704 734 886 463 702 992 570 370 492 865 795 889 638 594 887 203 732 896 610 492 960 422 44 255 442 448 426 697 862 351 318 277 783 22...
output:
mark 5 187 182 286 579 271 330 578 286 891 357
input:
1000 4797 478 88 822 243 20 260 316 598 877 559 772 373 861 329 340 412 196 107 888 956 503 6 433 903 631 615 697 232 307 397 379 887 53 406 107 475 448 100 735 622 733 917 592 769 43 142 811 447 326 527 863 650 144 117 952 884 550 996 476 304 30 70 555 439 808 402 849 892 838 117 959 138 486 625 45...
output:
ok
result:
ok all right
Test #19:
score: 100
Accepted
time: 766ms
memory: 3992kb
input:
1000 3724 513 194 958 159 936 285 493 34 668 957 824 152 450 421 92 170 416 782 546 100 698 433 299 741 261 975 661 408 4 927 789 856 52 784 541 618 99 780 527 957 618 74 440 321 839 496 360 484 71 21 149 302 25 505 240 587 584 736 490 934 817 867 682 287 882 528 985 852 201 46 254 112 862 582 379 3...
output:
mark 5 7 453 84 965 47 7 472 375 714 925
input:
1000 3729 297 476 358 601 334 574 414 22 782 406 81 998 264 317 470 636 722 860 892 697 610 514 882 571 917 911 188 20 362 717 975 360 124 673 745 921 406 99 655 489 968 216 462 697 584 350 140 90 259 783 718 810 938 950 816 752 928 749 224 563 664 578 624 823 301 575 778 259 223 739 530 16 955 788 ...
output:
ok
result:
ok all right
Test #20:
score: 100
Accepted
time: 854ms
memory: 3892kb
input:
1000 4188 106 174 116 750 197 421 387 311 48 148 296 628 755 929 804 267 341 16 263 676 486 178 334 256 639 453 183 206 497 528 911 457 854 258 104 922 931 576 725 214 300 460 149 847 754 657 670 983 525 366 475 667 680 376 676 126 929 766 437 821 646 717 578 151 885 981 394 105 264 225 429 390 502 ...
output:
mark 5 801 161 452 161 801 162 452 162 161 882
input:
1000 4193 286 143 317 477 283 874 381 541 296 247 76 824 376 313 141 198 92 685 116 433 756 760 302 243 509 605 358 632 601 841 820 249 865 388 956 738 997 249 296 763 980 856 931 924 834 77 775 923 124 189 43 73 342 635 540 235 612 553 774 288 679 357 873 678 316 698 827 839 878 751 281 907 161 496...
output:
ok
result:
ok all right
Test #21:
score: 100
Accepted
time: 653ms
memory: 4044kb
input:
1000 3236 622 762 548 197 457 126 655 978 275 215 472 112 762 998 649 242 890 339 337 1 169 283 365 486 584 324 988 887 406 500 62 591 512 839 76 251 479 635 485 217 961 204 934 8 621 40 374 227 1 403 644 72 758 370 436 494 174 341 770 80 421 125 151 211 405 389 514 637 808 815 131 762 647 518 804 7...
output:
mark 5 292 419 245 437 175 419 602 94 437 767
input:
1000 3241 797 983 817 823 988 449 342 612 58 389 468 423 947 71 787 894 862 736 543 78 131 618 731 414 748 25 326 741 583 772 725 351 488 47 705 824 828 110 321 174 796 415 603 85 343 53 101 731 616 111 547 377 542 767 542 289 95 672 107 983 394 330 885 440 27 660 388 14 679 484 796 930 131 305 267 ...
output:
ok
result:
ok all right
Test #22:
score: 0
Wrong Answer on the first run
input:
1000 3299 693 455 906 758 704 271 639 392 910 445 984 43 821 447 3 475 929 500 879 29 243 657 602 744 974 96 879 79 225 9 868 993 115 636 701 248 995 83 781 441 995 320 766 534 432 827 65 632 873 392 231 943 502 170 856 584 368 665 391 797 734 568 538 613 539 984 505 285 965 253 446 107 605 681 216 ...
output:
ok
input:
output:
result:
wrong answer Token "ok" doesn't correspond to pattern "mark"