QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#294761#4829. Mark on a Graphucup-team055#0 1007ms4120kbC++232.4kb2023-12-30 16:26:032023-12-30 16:26:03

Judging History

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

  • [2023-12-30 16:26:03]
  • 评测
  • 测评结果:0
  • 用时:1007ms
  • 内存:4120kb
  • [2023-12-30 16:26:03]
  • 提交

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;
    }
}

詳細信息

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"