QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#834257#9914. 前往何方hhoppitree#30 700ms6316kbC++141.4kb2024-12-27 14:27:312024-12-27 14:27:32

Judging History

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

  • [2024-12-27 14:27:32]
  • 评测
  • 测评结果:30
  • 用时:700ms
  • 内存:6316kb
  • [2024-12-27 14:27:31]
  • 提交

answer

#include <bits/stdc++.h>
#include "wheretoreach.h"

using namespace std;

void solve(int n) {
    for (int i = 1; i <= n; ++i) add(i);
    vector<int> p(n), ord;
    iota(p.begin(), p.end(), 1);
    mt19937 rnd;
    shuffle(p.begin(), p.end(), rnd);
    queue<int> Q;
    for (auto x : p) Q.push(x);
    while (!Q.empty()) {
        if (remove(Q.front()) == n - ord.size() - 1) {
            ord.push_back(Q.front()), Q.pop();
        } else {
            add(Q.front()), Q.push(Q.front()), Q.pop();
        }
    }
    reverse(ord.begin(), ord.end());
    vector<int> L(n), R(n);
    for (int i = 1; i < n; ++i) L[i] = 0, R[i] = i - 1;
    while (1) {
        vector< vector<int> > qry(n);
        vector<int> res(n);
        int flg = 0;
        for (int i = 1; i < n; ++i) {
            if (L[i] != R[i]) qry[(L[i] + R[i]) >> 1].push_back(i), flg = 1;
        }
        if (!flg) break;
        for (int i = 0; i < n; ++i) {
            add(ord[i]);
            for (auto t : qry[i]) {
                if (add(ord[t]) == i + 2) res[t] = 1;
                remove(ord[t]);
            }
        }
        for (int i = 1; i <= n; ++i) remove(i);
        for (int i = 1; i < n; ++i) {
            if (L[i] != R[i]) {
                if (!res[i]) L[i] = ((L[i] + R[i]) >> 1) + 1;
                else R[i] = (L[i] + R[i]) >> 1;
            }
        }
    }
    for (int i = 1; i < n; ++i) report(ord[i], ord[L[i]]);
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 9ms
memory: 4196kb

input:

500
310 77
468 235
218 93
58 406
223 334
159 243
204 48
144 107
492 288
447 165
102 407
340 299
450 126
140 234
209 62
111 204
453 306
4 476
126 358
183 317
360 489
149 158
232 22
326 372
92 383
410 24
199 14
401 480
69 329
192 167
409 152
426 354
435 60
146 404
334 187
208 305
123 55
30 79
469 72
2...

output:

18012
1

result:

ok Accepted. 18012 queries used.

Test #2:

score: 10
Accepted
time: 6ms
memory: 4508kb

input:

500
60 412
153 399
248 57
59 152
349 209
303 223
412 181
6 375
158 63
490 178
176 462
313 417
187 411
19 431
30 448
302 264
252 56
427 269
53 429
147 358
417 154
21 326
358 157
450 340
256 324
489 160
193 72
491 65
259 17
153 368
484 55
294 305
27 420
144 119
229 70
22 32
90 432
150 356
398 42
473 2...

output:

18250
1

result:

ok Accepted. 18250 queries used.

Test #3:

score: 10
Accepted
time: 7ms
memory: 4496kb

input:

500
434 238
470 430
111 20
414 129
408 188
220 491
483 375
203 240
315 401
344 357
315 429
246 486
291 403
465 23
477 67
155 34
27 457
349 305
220 496
384 242
87 8
74 141
458 119
206 177
246 125
332 461
111 343
413 210
280 405
288 407
60 84
70 140
31 482
110 473
94 6
361 294
96 279
438 428
295 379
1...

output:

18242
1

result:

ok Accepted. 18242 queries used.

Test #4:

score: 10
Accepted
time: 10ms
memory: 4188kb

input:

500
358 385
92 131
274 356
210 2
35 490
296 407
58 286
37 111
60 291
199 463
325 346
356 309
169 213
165 28
373 176
80 274
331 446
358 345
229 75
426 264
223 318
487 478
415 183
418 339
405 133
180 441
485 41
493 445
187 238
249 76
7 419
264 105
103 321
288 287
20 1
172 391
365 88
247 396
402 206
31...

output:

17988
1

result:

ok Accepted. 17988 queries used.

Test #5:

score: 10
Accepted
time: 6ms
memory: 4156kb

input:

500
457 191
315 191
191 459
163 191
416 191
217 191
279 191
75 191
7 191
206 191
191 317
108 191
223 191
225 191
191 414
196 191
191 248
191 264
38 191
15 191
406 191
191 480
454 191
191 212
99 191
321 191
415 191
191 240
298 191
468 191
191 187
191 340
191 19
170 191
191 430
191 496
222 191
191 386...

output:

17962
1

result:

ok Accepted. 17962 queries used.

Test #6:

score: 10
Accepted
time: 5ms
memory: 4272kb

input:

500
136 391
151 227
114 291
227 444
481 304
227 139
450 55
227 117
109 343
441 227
398 436
248 181
485 227
167 358
227 174
228 206
107 213
227 331
279 447
321 65
208 440
288 183
470 227
227 380
427 227
408 162
493 196
56 378
434 266
227 9
54 227
227 491
227 469
151 191
92 496
265 227
242 296
456 349...

output:

18042
1

result:

ok Accepted. 18042 queries used.

Test #7:

score: 10
Accepted
time: 23ms
memory: 4288kb

input:

500
32 112
430 35
282 448
388 442
25 72
281 420
9 27
245 294
28 470
119 144
343 6
4 31
236 429
230 264
285 469
463 303
365 443
169 297
374 7
345 475
420 143
388 31
403 175
51 67
288 311
86 473
349 488
239 105
402 328
9 164
150 370
205 260
439 11
62 245
115 409
272 439
319 142
466 409
407 478
89 197
...

output:

81302
1

result:

ok Accepted. 81302 queries used.

Test #8:

score: 10
Accepted
time: 7ms
memory: 4196kb

input:

500
237 221
171 286
204 484
179 375
401 385
84 107
167 463
459 69
326 325
234 72
500 138
291 498
80 204
339 383
369 240
344 335
68 327
193 7
294 389
364 102
369 69
495 187
445 386
18 6
144 25
287 205
356 347
143 49
90 74
450 386
55 477
480 11
309 227
63 332
257 23
414 431
207 151
449 19
393 118
441 ...

output:

25472
1

result:

ok Accepted. 25472 queries used.

Subtask #2:

score: 20
Accepted

Test #9:

score: 20
Accepted
time: 74ms
memory: 4680kb

input:

2500
887 818
1296 878
1605 2107
803 2410
1919 1135
860 1160
1364 2414
1375 500
894 2173
2322 2449
211 1732
1821 573
413 1556
1574 1977
709 162
2002 1577
1626 1895
1563 688
2151 2293
661 69
317 1170
2335 1549
1481 1349
1500 779
1593 735
1824 2380
639 2334
1496 2335
1956 1384
2476 1583
1035 163
720 70...

output:

116496
2

result:

ok Accepted. 116496 queries used.

Test #10:

score: 20
Accepted
time: 70ms
memory: 4912kb

input:

2500
1186 1927
2337 1044
1440 973
1563 297
1771 1852
921 834
1121 2156
679 211
1146 2132
1537 825
821 1240
1372 133
77 174
2453 1807
1357 550
1620 2020
2024 528
1666 1812
720 900
1243 2090
1665 1738
445 1306
2039 1721
1370 930
948 2331
521 121
1581 2059
1752 2039
218 785
988 2477
121 2462
578 503
11...

output:

117926
2

result:

ok Accepted. 117926 queries used.

Test #11:

score: 20
Accepted
time: 88ms
memory: 4608kb

input:

2500
778 2243
2254 352
1211 233
607 2369
1908 1499
2053 1966
1790 438
1032 703
898 2
1461 1159
1757 2022
1030 753
1123 2124
2346 528
1604 1207
341 1255
2435 999
526 888
1881 1472
251 618
1381 1303
981 1982
130 809
1623 1399
2229 1011
1836 1243
277 2147
588 1119
1980 1235
19 1795
734 2088
845 1841
89...

output:

117918
2

result:

ok Accepted. 117918 queries used.

Test #12:

score: 20
Accepted
time: 85ms
memory: 4640kb

input:

2500
1883 628
95 1337
203 1367
2078 760
115 2231
786 1486
931 248
2064 1215
336 193
175 1360
844 284
1105 102
2413 1374
2017 399
1321 947
2194 1969
2305 390
2193 1452
48 534
974 1439
2133 1727
2209 216
631 861
2279 1004
241 1797
2298 59
790 186
897 855
460 620
841 1701
1709 1541
403 95
909 1553
975 ...

output:

116414
2

result:

ok Accepted. 116414 queries used.

Test #13:

score: 20
Accepted
time: 46ms
memory: 4888kb

input:

2500
2420 40
1914 40
1373 40
817 40
985 40
40 237
40 1843
40 839
1673 40
40 1611
1631 40
40 1805
2378 40
391 40
40 1198
40 622
1232 40
40 1799
648 40
40 760
40 1163
1883 40
1033 40
2221 40
40 1020
1136 40
493 40
40 2379
404 40
40 84
2215 40
1746 40
40 2259
40 1966
1050 40
112 40
1637 40
40 196
1795 ...

output:

116788
2

result:

ok Accepted. 116788 queries used.

Test #14:

score: 20
Accepted
time: 56ms
memory: 4612kb

input:

2500
1402 1724
1724 1895
2497 667
190 1343
1690 1724
807 612
1724 2012
1581 1724
1973 1724
385 2129
474 1736
1724 1671
1724 807
1724 232
1096 447
1928 1724
1724 2404
868 579
1724 1779
1724 1167
793 1542
684 1469
874 785
58 1724
2108 1724
1724 1470
2269 2042
1724 1346
2451 8
250 1393
751 1825
2353 11...

output:

116762
2

result:

ok Accepted. 116762 queries used.

Test #15:

score: 20
Accepted
time: 700ms
memory: 4792kb

input:

2500
107 684
1016 2062
840 2253
1686 2339
2322 150
2143 535
918 623
2360 1782
1109 1519
1698 1588
1379 329
2119 1632
733 1390
557 1680
1013 2386
1767 268
2346 154
674 465
1757 549
801 1875
1090 1020
1521 2205
1861 129
2144 613
552 1341
970 855
41 1750
896 23
2106 1953
1656 1861
2408 1509
151 1301
70...

output:

1674870
2

result:

ok Accepted. 1674870 queries used.

Test #16:

score: 20
Accepted
time: 141ms
memory: 4928kb

input:

2500
810 880
2265 2017
1745 430
2088 1832
491 2189
1915 2457
1846 1557
118 1427
1269 980
1427 2245
590 709
2041 1179
1161 57
2069 1870
1950 2333
1378 885
385 195
1277 524
458 1603
1025 1041
646 1451
2036 903
2499 1796
823 1850
1030 957
1584 2049
67 1325
386 1257
1095 1452
1078 143
709 978
225 1771
1...

output:

298622
2

result:

ok Accepted. 298622 queries used.

Subtask #3:

score: 0
Time Limit Exceeded

Test #17:

score: 70
Accepted
time: 454ms
memory: 6100kb

input:

10000
6139 8917
131 5800
5366 5247
1298 5035
3966 3518
4889 7202
6547 1919
5829 9494
8012 6029
3868 6403
1909 8116
5734 6122
2683 4779
9275 6673
7433 9042
7646 2032
3547 6306
1943 8382
4061 6428
8240 3548
460 2795
3451 4320
5904 6627
8709 7621
8706 3534
748 4873
8101 4261
5359 3304
6254 4687
6492 53...

output:

546078
3

result:

ok Accepted. 546078 queries used.

Test #18:

score: 70
Accepted
time: 443ms
memory: 6316kb

input:

10000
2681 8564
3271 4429
6658 3180
2428 7273
8907 2727
5939 1929
2539 1768
7178 7722
3420 8555
1346 811
3608 2345
6181 6871
5539 8722
4731 8049
8581 7954
3979 384
9678 3503
7073 6690
240 7950
16 7004
1591 8818
5422 3777
3382 852
1805 6181
1965 2752
6507 7858
9373 4985
6912 2901
9954 4194
1029 7631
...

output:

550970
3

result:

ok Accepted. 550970 queries used.

Test #19:

score: 70
Accepted
time: 564ms
memory: 6084kb

input:

10000
1342 5746
3635 7521
8778 5159
4764 6368
6494 390
174 9762
1667 1808
8257 9287
8449 8308
8952 6760
4300 8776
8608 304
6035 8674
3012 2422
326 676
2883 2429
5929 6038
4183 6495
3578 6621
9215 894
6669 521
3507 7339
1972 75
9478 8427
9802 5494
2085 6339
2258 6254
9484 4048
4093 3234
4063 7612
695...

output:

552008
3

result:

ok Accepted. 552008 queries used.

Test #20:

score: 70
Accepted
time: 518ms
memory: 6048kb

input:

10000
960 6995
1934 8650
2086 4139
5869 6110
9863 5419
2434 7853
22 8305
3104 5436
956 8596
611 3208
8137 4802
2959 6835
9790 1374
16 1928
3933 905
8563 7148
5395 4769
7120 9867
6938 958
902 1635
8282 6853
5974 8667
1135 3544
7781 3724
4634 7479
4471 1938
7625 6909
9912 8309
479 976
9773 4057
5726 1...

output:

545668
3

result:

ok Accepted. 545668 queries used.

Test #21:

score: 70
Accepted
time: 267ms
memory: 5920kb

input:

10000
2047 2226
2047 7482
2047 8002
2047 7874
2471 2047
3951 2047
2047 5793
255 2047
2047 6651
2047 5389
2047 5158
2047 8377
2047 5620
2047 5128
4171 2047
2047 8760
2551 2047
2047 4395
6197 2047
2047 1146
2047 6031
306 2047
9529 2047
2923 2047
2047 8946
590 2047
7820 2047
1096 2047
2047 974
7717 204...

output:

547208
3

result:

ok Accepted. 547208 queries used.

Test #22:

score: 70
Accepted
time: 307ms
memory: 6040kb

input:

10000
9237 9177
5414 5467
9237 68
8026 5985
1926 8283
9237 5640
2996 9237
9237 7417
697 5166
4466 9237
9237 3310
2971 9237
5521 4979
2643 5677
9756 6100
9237 2937
2632 3463
9237 6803
1859 9237
4701 7368
9237 7173
1651 9237
4732 9237
9237 1166
9237 1435
3515 1302
9237 4921
5777 484
8256 7830
9237 960...

output:

547418
3

result:

ok Accepted. 547418 queries used.

Test #23:

score: 0
Time Limit Exceeded

input:

10000
3351 7696
386 4051
2241 9958
5285 4525
7161 2908
7124 4675
7578 3532
6592 6812
2280 4890
5171 2148
1771 6993
1718 1169
1531 842
1069 3468
1241 7188
5705 5652
4914 677
2363 2546
8117 3848
5023 4984
3187 715
9328 8777
6053 8764
8107 9235
9653 762
3797 183
1973 7599
6175 426
4656 599
6049 1826
84...

output:

Unauthorized output

result: