QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#375869#4088. 총 쏘기duongnc00012 3273ms148108kbC++206.6kb2024-04-03 16:43:182024-04-03 16:43:19

Judging History

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

  • [2024-04-03 16:43:19]
  • 评测
  • 测评结果:12
  • 用时:3273ms
  • 内存:148108kb
  • [2024-04-03 16:43:18]
  • 提交

answer

/*
#pragma GCC optimize("Ofast,unroll-loops")
#pragma GCC target("avx2,fma,bmi,bmi2,sse4.2,popcnt,lzcnt")
*/

#include <bits/stdc++.h>
#define taskname ""
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define i64 long long
#define pb push_back
#define ff first
#define ss second
#define isz(x) (int)x.size()
using namespace std;

const int mxN = 2e5 + 5;
const int mod = 1e9 + 7;
const i64 oo = 1e18;

template<class T>
struct fenwick_tree_max{
    int n;
    vector<T> data;
    T T_id;
    fenwick_tree_max(int n, T init, T T_id = numeric_limits<T>::min()): fenwick_tree_max(vector<T>(n, init), T_id){ }
    fenwick_tree_max(const vector<T> &v, T T_id = numeric_limits<T>::min()): n((int)v.size()), data(v), T_id(T_id){
        for(auto i = 1; i <= n; ++ i) if(i + (i & -i) <= n) data[i + (i & -i) - 1] = max(data[i + (i & -i) - 1], data[i - 1]);
    }
    // O(log n)
    void update(int p, T x){
        assert(0 <= p && p < n);
        for(++ p; p <= n; p += p & -p) data[p - 1] = max(data[p - 1], x);
    }
    // O(log n)
    T pref(int r) const{
        T s = T_id;
        for(; r > 0; r -= r & -r) s = max(s, data[r - 1]);
        return s;
    }
    // pred(sum[0, r)) is T, T, ..., T, F, F, ..., F, returns max r with T
    // O(log n)
    int max_pref(auto pred) const{
        assert(pred(T_id));
        int p = 0;
        T pref = T_id;
        for(auto i = __lg(n + 1); i >= 0; -- i) if(p + (1 << i) <= n && pred(max(pref, data[p + (1 << i) - 1]))){
            pref = max(pref, data[p + (1 << i) - 1]);
            p += 1 << i;
        }
        return p;
    }
};

const int MAXT = 270000;

struct seg2
{
    pair<int, int> tree[MAXT];
    int lim;
    void init(int n)
    {
        fill(tree, tree + MAXT, pair<int, int>(-1e9, -1e9));
        for (lim = 1; lim <= n; lim <<= 1);
    }
    void upd(int x, pair<int, int> v)
    {
        x += lim;
        tree[x] = v;
        while (x > 1)
        {
            x >>= 1;
            tree[x] = max(tree[2 * x], tree[2 * x + 1]);
        }
    }
    pair<int, int> query(int s, int e)
    {
        s += lim;
        e += lim;
        pair<int, int> ret(-1e9, -1e9);
        while (s < e)
        {
            if (s % 2 == 1) ret = max(ret, tree[s++]);
            if (e % 2 == 0) ret = max(ret, tree[e--]);
            s >>= 1, e >>= 1;
        }
        if (s == e) ret = max(ret, tree[s]);
        return ret;
    }
} seg2;

vector<pair<int, int>> min_shooting_buildings(vector<int> a) {
    int n = isz(a);
    for (int &val : a) --val;
    vector<int> dp(n);
    fenwick_tree_max<int> fenw(n, -1e9);
    vector<vector<int>> dpval, N(n);
    for (int i = n - 1; i >= 0; --i) {
        int val = max(0, fenw.pref(a[i] + 1) + 1);
        dp[a[i]] = val; fenw.update(a[i], val);
        if (val >= isz(dpval)) dpval.resize(val + 1);
        dpval[val].emplace_back(i);
    }

    for (int i = 0; i < n; ++i) {
        for (int j = i + 1; j < n; ++j) {
            if (a[i] > a[j]) N[j].emplace_back(i);
        }
    }

    int cntt = 0;
    vector<int> rev = {-1};
    vector<int> ord(n);
    for (auto &v : dpval) {
        for (int val : v) {
            sort(all(N[val]), [&](int x, int y) {
                return ord[x] > ord[y];
            });
        }
        sort(all(v), [&](int x, int y) {
            // cout << x << " " << y << endl;
            for (int i = 0; i < min(isz(N[x]), isz(N[y])); ++i) if (N[x][i] != N[y][i]) {
                return (ord[N[x][i]] < ord[N[y][i]]);
            }
            if (isz(N[x]) != isz(N[y])) return isz(N[x]) < isz(N[y]);
            return (x > y);
        });
        for (int val : v) rev.push_back(val);
        // for (int val : v) cout << val << " ";
        // cout << endl;
        for (int val : v) ord[val] = ++cntt;
    }

    // for (int i = 0; i < n; ++i) cout << i << " " << ord[i] << endl;
    
    vector<int> proc(n);
    iota(all(proc), 0);
    sort(all(proc), [&](int x, int y) { return ord[x] > ord[y]; });
    vector<pair<int, int>> ans;
    vector<int> killed(n);
    int cnt = 0;
    set<int> s, ord_s;
    {
        seg2.init(n);
        int curMax = 0;
        for (int j = 0; j < n; j++)
        {
            seg2.upd(j, pair<int, int>(a[j], j));
            if (curMax < a[j])
            {
                s.insert(j);
                ord_s.insert(ord[j]);
                curMax = a[j];
            }
        }
    }
    auto Erase = [&](int x)
    {
        auto nxt = s.upper_bound(x);
        int y = (nxt == s.end() ? n : *nxt);
        s.erase(x);
        ord_s.erase(ord[x]);
        seg2.upd(x, pair<int, int>(-1e9, x));
        while (y > 0)
        {
            auto val = seg2.query(0, y - 1);
            if (s.find(val.second) != s.end()) break;
            if (val.first < 0) break;
            s.insert(val.second);
            ord_s.insert(ord[val.second]);
            y = val.second;
        }
    };
    while (cnt < n)
    {
        if (isz(s) == 1)
        {
            cnt++;
            int nd = rev[*ord_s.begin()];
            Erase(nd);
            ans.emplace_back(a[nd] + 1, n + 1);
        }
        else
        {
            cnt += 2;
            auto it = ord_s.end();
            int nd1 = rev[*--it];
            int nd2 = rev[*--it];
            Erase(nd1);
            Erase(nd2);
            ans.emplace_back(a[nd1] + 1, a[nd2] + 1);
        }
    }
    return ans;
} 

// void solve() {
//     int n;
//     cin >> n;
//     assert(n <= 500);
//     vector<int> a(n);
//     for (auto &val : a)
//         cin >> val;
//     auto res = min_shooting_buildings(a);
//     cout << res.size() << '\n';
//     for (auto [u, v] : res)
//         cout << u << " " << v << "\n";
// }

// signed main() {

// #ifndef CDuongg
//     if(fopen(taskname".inp", "r"))
//         assert(freopen(taskname".inp", "r", stdin)), assert(freopen(taskname".out", "w", stdout));
// #else
//     freopen("bai3.inp", "r", stdin);
//     freopen("bai3.out", "w", stdout);
//     auto start = chrono::high_resolution_clock::now();
// #endif

//     ios_base::sync_with_stdio(false);
//     cin.tie(nullptr);
//     int t = 1; //cin >> t;
//     while(t--) solve();

// #ifdef CDuongg
//    auto end = chrono::high_resolution_clock::now();
//    cout << "\n"; for(int i = 1; i <= 100; ++i) cout << '=';
//    cout << "\nExecution time: " << chrono::duration_cast<chrono::milliseconds> (end - start).count() << "[ms]" << endl;
//    cout << "Check array size pls sir" << endl;
// #endif

// }

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Time Limit Exceeded

Test #1:

score: 17
Accepted
time: 1ms
memory: 5892kb

input:

8
4 3 8 2 1 7 6 5

output:

4
4 8
3 7
2 6
1 5

result:

ok Correct

Test #2:

score: 0
Accepted
time: 1ms
memory: 5932kb

input:

16
12 16 11 15 10 9 8 4 14 13 7 2 6 5 3 1

output:

10
12 16
11 15
10 14
9 13
8 17
7 4
6 2
5 17
3 17
1 17

result:

ok Correct

Test #3:

score: 0
Accepted
time: 2ms
memory: 5888kb

input:

16
16 13 10 7 6 15 14 12 5 11 4 9 3 8 1 2

output:

9
16 17
13 15
10 14
7 12
6 11
5 9
4 8
3 17
1 2

result:

ok Correct

Test #4:

score: 0
Accepted
time: 1ms
memory: 5904kb

input:

16
16 13 10 15 8 14 12 7 4 11 9 6 1 5 3 2

output:

10
16 17
15 13
14 10
12 8
11 7
9 4
6 17
5 1
3 17
2 17

result:

ok Correct

Test #5:

score: 0
Accepted
time: 2ms
memory: 5900kb

input:

16
14 13 12 11 16 15 8 10 6 9 4 7 3 1 5 2

output:

9
14 16
13 15
12 17
11 17
8 10
6 9
4 7
3 5
2 1

result:

ok Correct

Test #6:

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

input:

16
14 13 16 11 9 15 12 6 5 10 8 7 2 1 4 3

output:

8
14 16
13 15
12 11
10 9
8 6
5 7
2 4
1 3

result:

ok Correct

Test #7:

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

input:

16
15 16 14 12 11 9 7 5 4 13 2 10 1 8 6 3

output:

10
15 16
14 17
12 13
11 17
9 10
7 8
5 6
4 17
2 3
1 17

result:

ok Correct

Test #8:

score: 0
Accepted
time: 3ms
memory: 6628kb

input:

495
492 491 487 481 495 494 493 480 490 478 489 488 477 486 485 475 472 484 483 471 468 482 479 466 465 463 476 461 460 459 474 457 473 455 454 470 469 453 452 467 450 449 464 462 448 447 458 456 443 451 446 442 445 437 436 435 434 433 429 444 427 426 441 440 439 424 423 438 421 419 416 432 413 431 ...

output:

250
495 492
494 491
493 487
490 481
489 480
488 478
486 477
485 496
475 484
472 483
471 482
468 479
466 476
465 474
463 473
461 470
460 469
459 467
457 464
455 462
454 458
453 456
452 496
450 451
449 496
448 496
447 496
443 446
442 445
437 444
436 441
435 440
434 439
433 438
429 432
427 431
426 430
...

result:

ok Correct

Test #9:

score: 0
Accepted
time: 3ms
memory: 6344kb

input:

496
493 491 486 496 481 495 494 492 490 489 473 488 487 472 469 468 485 484 483 464 482 480 463 479 478 477 460 458 476 475 457 456 474 471 455 454 470 453 452 467 449 448 447 446 466 437 465 436 433 432 430 428 462 426 461 425 424 421 420 419 459 417 416 451 410 450 409 408 407 445 405 444 443 442 ...

output:

262
496 493
495 491
494 486
492 481
490 497
489 497
488 473
487 497
485 472
484 469
483 468
482 464
480 497
479 463
478 497
477 497
460 476
458 475
457 474
456 471
455 470
454 467
453 466
452 465
449 462
448 461
447 459
446 451
437 450
436 445
433 444
432 443
430 442
428 441
426 440
425 439
424 438
...

result:

ok Correct

Test #10:

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

input:

497
496 492 490 489 497 495 494 493 488 486 485 484 480 478 491 487 475 483 474 482 471 468 465 464 460 459 481 458 457 456 479 477 455 453 476 473 450 444 443 440 472 439 470 469 435 433 467 432 430 466 429 463 462 428 461 425 420 419 454 418 452 451 416 449 415 413 412 448 409 402 401 400 447 399 ...

output:

259
496 497
495 492
490 494
489 493
488 491
486 487
485 498
484 498
480 483
478 482
475 481
474 479
471 477
468 476
465 473
464 472
460 470
459 469
458 467
457 466
456 463
455 462
453 461
450 454
444 452
443 451
440 449
439 448
435 447
433 446
432 445
430 442
429 441
428 438
425 437
420 436
419 434
...

result:

ok Correct

Test #11:

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

input:

498
496 495 494 493 498 497 489 492 491 488 485 490 487 482 486 484 481 479 478 475 483 474 480 477 476 473 471 464 472 462 470 469 459 458 456 468 467 454 466 453 465 450 448 446 463 461 460 445 440 457 455 437 452 434 451 449 433 432 431 428 427 425 447 444 443 442 422 441 419 439 438 436 418 435 ...

output:

272
496 498
495 497
494 499
493 499
492 489
491 499
488 490
487 485
486 482
484 499
481 483
479 480
478 499
475 477
474 476
473 499
471 472
470 464
469 462
468 459
467 458
466 456
465 454
463 453
461 450
460 448
457 446
455 445
452 440
451 437
449 434
447 433
444 432
443 431
442 428
441 427
439 425
...

result:

ok Correct

Test #12:

score: 0
Accepted
time: 3ms
memory: 6628kb

input:

499
498 496 492 499 497 495 494 493 491 489 486 484 481 490 488 487 478 485 483 474 465 482 464 480 463 461 460 479 477 459 476 456 475 455 473 472 471 470 453 469 452 451 448 447 468 467 446 445 466 439 434 433 462 458 457 454 450 449 432 444 443 430 442 441 428 440 438 437 427 422 436 421 420 418 ...

output:

266
498 499
497 496
495 492
494 500
493 500
491 500
489 490
488 486
487 484
485 481
483 478
482 474
480 465
479 464
477 463
476 461
475 460
473 459
472 456
471 455
470 500
469 453
468 452
467 451
466 448
462 447
458 446
457 445
454 439
450 434
449 433
444 432
443 500
442 430
441 500
440 428
438 500
...

result:

ok Correct

Test #13:

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

input:

500
499 500 495 490 498 489 497 496 488 486 484 482 478 477 476 475 494 493 470 492 491 469 468 467 487 463 458 485 483 481 450 444 442 480 479 441 474 473 472 440 439 438 437 471 436 435 466 434 430 465 429 428 425 424 423 464 422 421 462 461 460 459 419 417 415 457 413 456 455 454 453 452 411 410 ...

output:

254
499 500
495 498
490 497
489 496
488 494
486 493
484 492
482 491
478 487
477 485
476 483
475 481
470 480
469 479
468 474
467 473
463 472
458 471
450 466
444 465
442 464
441 462
440 461
439 460
438 459
437 457
436 456
435 455
434 454
430 453
429 452
428 451
425 449
424 448
423 447
422 446
421 445
...

result:

ok Correct

Test #14:

score: 0
Accepted
time: 372ms
memory: 147584kb

input:

7495
7495 7490 7488 7486 7494 7481 7480 7478 7477 7475 7463 7460 7459 7493 7492 7458 7491 7489 7487 7485 7457 7455 7484 7483 7454 7453 7452 7450 7448 7482 7444 7442 7440 7435 7479 7431 7476 7474 7426 7473 7423 7422 7421 7418 7472 7471 7470 7469 7468 7467 7414 7413 7411 7409 7408 7405 7466 7465 7403 ...

output:

3773
7495 7496
7490 7494
7488 7493
7486 7492
7481 7491
7480 7489
7478 7487
7477 7485
7475 7484
7463 7483
7460 7482
7459 7479
7458 7476
7457 7474
7455 7473
7454 7472
7453 7471
7452 7470
7450 7469
7448 7468
7444 7467
7442 7466
7440 7465
7435 7464
7431 7462
7426 7461
7423 7456
7422 7451
7421 7449
7418 ...

result:

ok Correct

Test #15:

score: 0
Accepted
time: 377ms
memory: 147808kb

input:

7496
7493 7496 7495 7490 7494 7489 7492 7491 7484 7476 7488 7487 7473 7471 7470 7468 7467 7465 7462 7456 7486 7455 7453 7451 7485 7446 7483 7482 7481 7480 7479 7478 7477 7445 7444 7475 7439 7435 7474 7472 7433 7432 7469 7430 7429 7428 7466 7464 7463 7427 7461 7460 7423 7422 7420 7459 7458 7418 7415 ...

output:

3779
7496 7493
7495 7497
7494 7490
7492 7489
7491 7497
7488 7484
7487 7476
7486 7473
7485 7471
7483 7470
7482 7468
7481 7467
7480 7465
7479 7462
7478 7456
7477 7455
7475 7453
7474 7451
7472 7446
7469 7445
7466 7444
7464 7439
7463 7435
7461 7433
7460 7432
7459 7430
7458 7429
7457 7428
7454 7427
7452 ...

result:

ok Correct

Test #16:

score: 0
Accepted
time: 374ms
memory: 147816kb

input:

7497
7493 7490 7489 7488 7487 7486 7497 7485 7496 7482 7495 7481 7480 7479 7478 7494 7492 7477 7470 7491 7469 7484 7483 7476 7468 7475 7466 7462 7474 7461 7473 7458 7457 7455 7472 7454 7453 7450 7447 7471 7445 7467 7465 7444 7464 7443 7442 7440 7463 7439 7460 7459 7438 7437 7435 7430 7456 7452 7427 ...

output:

3790
7493 7497
7490 7496
7489 7495
7488 7494
7487 7492
7486 7491
7485 7498
7482 7484
7481 7483
7480 7498
7479 7498
7478 7498
7477 7498
7470 7476
7469 7475
7468 7474
7466 7473
7462 7472
7461 7471
7458 7467
7457 7465
7455 7464
7454 7463
7453 7460
7450 7459
7447 7456
7445 7452
7444 7451
7443 7449
7442 ...

result:

ok Correct

Test #17:

score: 0
Accepted
time: 374ms
memory: 147904kb

input:

7498
7495 7494 7492 7488 7498 7497 7487 7486 7485 7496 7484 7483 7493 7491 7482 7490 7480 7489 7478 7477 7473 7472 7469 7481 7465 7464 7479 7476 7475 7463 7462 7459 7458 7474 7457 7456 7471 7470 7454 7452 7450 7447 7446 7468 7467 7444 7443 7439 7466 7438 7461 7437 7460 7455 7435 7434 7453 7433 7431 ...

output:

3768
7495 7498
7494 7497
7492 7496
7488 7493
7487 7491
7486 7490
7485 7489
7484 7499
7483 7499
7482 7499
7480 7481
7478 7479
7477 7499
7473 7476
7472 7475
7469 7474
7465 7471
7464 7470
7463 7468
7462 7467
7459 7466
7458 7461
7457 7460
7456 7499
7454 7455
7452 7453
7450 7451
7447 7449
7446 7448
7444 ...

result:

ok Correct

Test #18:

score: 0
Accepted
time: 362ms
memory: 148108kb

input:

7499
7498 7499 7491 7497 7496 7487 7495 7494 7485 7481 7479 7493 7492 7490 7489 7477 7488 7476 7471 7486 7470 7484 7464 7483 7463 7482 7460 7480 7459 7478 7475 7454 7452 7474 7473 7472 7451 7450 7449 7448 7446 7469 7468 7467 7466 7465 7443 7462 7438 7461 7458 7457 7456 7428 7455 7426 7425 7424 7423 ...

output:

3766
7498 7499
7497 7491
7496 7500
7495 7487
7494 7500
7493 7485
7492 7481
7490 7479
7489 7500
7488 7477
7486 7476
7484 7471
7483 7470
7482 7464
7480 7463
7478 7460
7475 7459
7474 7454
7473 7452
7472 7500
7469 7451
7468 7450
7467 7449
7466 7448
7465 7446
7462 7443
7461 7438
7458 7500
7457 7500
7456 ...

result:

ok Correct

Test #19:

score: 0
Accepted
time: 382ms
memory: 148040kb

input:

7500
7500 7498 7499 7497 7492 7490 7488 7485 7481 7479 7476 7471 7496 7470 7469 7495 7494 7466 7493 7491 7460 7489 7459 7458 7456 7455 7487 7453 7486 7450 7447 7484 7446 7443 7440 7436 7435 7483 7482 7430 7424 7423 7422 7480 7421 7478 7418 7416 7477 7413 7475 7411 7474 7473 7472 7468 7410 7467 7408 ...

output:

3788
7500 7501
7498 7499
7497 7501
7496 7492
7495 7490
7494 7488
7493 7485
7491 7481
7489 7479
7487 7476
7486 7471
7484 7470
7483 7469
7482 7466
7480 7460
7478 7459
7477 7458
7475 7456
7474 7455
7473 7453
7472 7450
7468 7447
7467 7446
7465 7443
7464 7440
7463 7436
7462 7435
7461 7430
7457 7424
7454 ...

result:

ok Correct

Test #20:

score: -17
Time Limit Exceeded

input:

99995
99992 99990 99995 99994 99989 99993 99985 99991 99979 99974 99970 99988 99987 99986 99969 99984 99965 99983 99982 99964 99981 99962 99961 99960 99958 99955 99980 99953 99978 99951 99977 99976 99950 99975 99948 99946 99939 99973 99936 99935 99930 99928 99972 99924 99971 99968 99923 99922 99920 ...

output:

Unauthorized output

result:


Subtask #2:

score: 12
Accepted

Test #26:

score: 12
Accepted
time: 2ms
memory: 6172kb

input:

8
5 6 7 1 2 8 3 4

output:

4
5 6
7 8
3 4
1 2

result:

ok Correct

Test #27:

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

input:

16
2 4 5 1 9 10 3 6 14 7 8 11 12 16 13 15

output:

8
2 4
5 9
10 14
16 1
3 7
8 6
13 11
12 15

result:

ok Correct

Test #28:

score: 0
Accepted
time: 1ms
memory: 5940kb

input:

16
2 3 1 8 12 4 5 6 7 14 15 9 10 16 11 13

output:

8
2 3
8 12
14 15
16 1
4 5
6 7
11 9
10 13

result:

ok Correct

Test #29:

score: 0
Accepted
time: 1ms
memory: 5900kb

input:

16
3 5 1 6 8 9 2 11 12 4 7 14 15 10 16 13

output:

8
3 5
6 8
9 11
12 14
15 16
2 1
4 7
10 13

result:

ok Correct

Test #30:

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

input:

16
1 7 2 3 9 11 4 5 6 12 15 8 10 16 13 14

output:

8
7 9
11 12
15 16
4 5
6 2
3 8
10 13
14 1

result:

ok Correct

Test #31:

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

input:

16
6 7 8 1 9 2 3 4 11 12 5 10 13 14 15 16

output:

8
6 7
8 9
11 12
5 2
3 4
1 10
13 14
15 16

result:

ok Correct

Test #32:

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

input:

16
1 6 2 7 8 9 10 13 3 4 5 11 14 12 16 15

output:

8
6 7
8 9
10 13
14 16
3 4
5 2
12 11
15 1

result:

ok Correct

Test #33:

score: 0
Accepted
time: 2ms
memory: 6252kb

input:

495
5 6 7 9 10 1 2 12 3 13 15 17 18 19 20 24 4 8 11 26 27 29 30 31 33 14 16 21 34 35 39 22 40 43 23 44 25 28 32 47 36 37 48 38 53 56 41 57 42 45 46 49 50 60 62 63 65 51 52 54 55 58 59 69 71 61 72 64 66 74 77 67 68 80 70 81 84 87 88 89 90 92 73 96 75 97 98 76 99 102 78 79 82 83 105 106 85 86 91 110 9...

output:

248
5 6
7 9
10 12
13 15
17 18
19 20
24 26
27 29
30 31
33 34
35 39
40 43
44 47
48 53
56 57
60 62
63 65
69 71
72 74
77 80
81 84
87 88
89 90
92 96
97 98
99 102
105 106
110 111
112 114
119 120
123 126
127 129
132 133
136 137
143 144
150 151
152 154
156 157
158 160
162 163
167 169
173 174
178 180
183 195...

result:

ok Correct

Test #34:

score: 0
Accepted
time: 2ms
memory: 6224kb

input:

496
1 5 6 8 9 11 13 2 3 14 4 7 16 10 12 15 19 21 24 26 29 31 17 32 18 33 20 35 39 22 41 44 23 47 25 48 27 28 30 51 34 54 36 37 38 40 42 55 43 45 56 58 46 49 50 52 59 60 53 67 57 68 61 62 63 64 70 74 65 66 75 76 77 69 81 83 71 72 85 73 86 88 89 90 92 94 96 78 100 101 104 107 110 79 111 80 82 112 113 ...

output:

248
5 6
8 9
11 13
14 16
19 21
24 26
29 31
32 33
35 39
41 44
47 48
51 54
55 56
58 59
60 67
68 70
74 75
76 77
81 83
85 86
88 89
90 92
94 96
100 101
104 107
110 111
112 113
116 119
121 122
123 127
128 129
130 131
133 134
136 138
139 140
142 143
147 148
149 152
156 161
162 164
165 166
168 173
174 175
17...

result:

ok Correct

Test #35:

score: 0
Accepted
time: 2ms
memory: 6280kb

input:

497
6 1 2 10 11 3 12 4 15 5 7 8 16 17 18 19 21 25 26 30 31 9 32 13 14 20 33 35 37 40 41 43 22 45 23 46 24 27 49 50 28 52 53 29 54 58 59 34 36 38 39 42 44 47 61 48 51 63 55 67 68 69 56 57 72 60 62 77 78 79 80 64 65 82 85 87 88 66 89 91 98 102 70 104 71 111 112 113 117 118 120 73 125 129 130 74 75 131...

output:

249
6 10
11 12
15 16
17 18
19 21
25 26
30 31
32 33
35 37
40 41
43 45
46 49
50 52
53 54
58 59
61 63
67 68
69 72
77 78
79 80
82 85
87 88
89 91
98 102
104 111
112 113
117 118
120 125
129 130
131 133
143 147
148 149
150 151
152 153
154 155
156 157
158 162
163 164
168 169
170 171
172 173
178 180
181 182
...

result:

ok Correct

Test #36:

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

input:

498
2 8 10 11 1 3 4 12 15 5 6 17 21 7 22 9 24 27 28 13 31 32 35 40 14 42 47 16 18 19 20 50 51 23 52 25 53 26 29 30 33 54 55 56 59 34 61 63 36 37 65 67 38 69 70 39 72 41 75 43 44 45 76 46 48 80 49 57 58 81 84 85 88 60 89 91 62 64 66 68 93 71 73 94 97 98 74 99 77 78 79 100 102 103 105 82 107 83 110 86...

output:

249
2 8
10 11
12 15
17 21
22 24
27 28
31 32
35 40
42 47
50 51
52 53
54 55
56 59
61 63
65 67
69 70
72 75
76 80
81 84
85 88
89 91
93 94
97 98
99 100
102 103
105 107
110 112
113 117
118 119
121 123
125 130
133 134
137 141
142 144
145 147
149 154
156 159
161 163
164 165
168 169
172 173
174 175
176 177
1...

result:

ok Correct

Test #37:

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

input:

499
5 7 11 12 13 1 17 18 20 22 24 2 3 25 26 27 4 29 31 6 32 33 8 9 10 14 15 34 35 16 19 21 23 28 41 30 36 37 42 45 38 39 46 49 40 50 51 43 52 44 47 48 54 59 53 65 55 67 68 71 56 57 74 75 78 79 58 81 86 87 88 89 60 91 61 98 99 100 102 103 112 62 113 63 114 64 115 116 66 117 69 120 70 121 72 122 124 7...

output:

250
5 7
11 12
13 17
18 20
22 24
25 26
27 29
31 32
33 34
35 41
42 45
46 49
50 51
52 54
59 65
67 68
71 74
75 78
79 81
86 87
88 89
91 98
99 100
102 103
112 113
114 115
116 117
120 121
122 124
125 128
130 133
137 143
144 145
153 155
159 160
161 162
163 164
166 168
169 174
176 178
182 186
189 190
191 194...

result:

ok Correct

Test #38:

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

input:

500
1 4 10 12 13 15 17 18 2 20 23 27 3 28 29 5 30 6 7 8 9 11 31 33 14 35 16 36 37 38 39 19 40 42 21 48 49 53 55 56 58 59 60 22 24 62 63 65 25 66 69 26 32 71 75 34 41 78 79 81 82 83 86 43 44 88 90 45 46 47 91 92 50 51 93 52 94 97 98 99 54 100 101 57 61 102 104 105 108 64 109 67 110 68 70 112 72 113 1...

output:

250
4 10
12 13
15 17
18 20
23 27
28 29
30 31
33 35
36 37
38 39
40 42
48 49
53 55
56 58
59 60
62 63
65 66
69 71
75 78
79 81
82 83
86 88
90 91
92 93
94 97
98 99
100 101
102 104
105 108
109 110
112 113
115 118
120 121
127 133
138 139
140 146
147 149
153 155
156 157
158 159
160 161
162 165
166 168
173 1...

result:

ok Correct

Test #39:

score: 0
Accepted
time: 28ms
memory: 8224kb

input:

7495
1 3 5 7 8 2 10 4 11 13 6 14 17 9 21 12 15 23 25 26 16 18 31 19 20 32 35 36 37 42 22 45 46 24 27 28 47 48 49 29 51 52 58 60 30 33 34 38 62 63 39 40 64 65 66 70 72 73 41 74 43 75 77 44 50 53 78 79 54 81 82 55 56 83 57 87 88 89 93 59 61 67 68 97 69 100 102 107 108 110 112 113 118 119 120 71 124 12...

output:

3748
3 5
7 8
10 11
13 14
17 21
23 25
26 31
32 35
36 37
42 45
46 47
48 49
51 52
58 60
62 63
64 65
66 70
72 73
74 75
77 78
79 81
82 83
87 88
89 93
97 100
102 107
108 110
112 113
118 119
120 124
125 128
129 131
133 134
135 137
138 140
142 146
149 150
151 152
153 155
157 160
161 164
166 167
170 173
177 ...

result:

ok Correct

Test #40:

score: 0
Accepted
time: 28ms
memory: 8260kb

input:

7496
4 8 9 14 16 1 19 2 3 5 6 20 21 23 7 25 32 10 33 34 35 36 38 11 39 12 40 13 15 17 43 45 46 47 18 48 51 54 22 58 61 24 62 67 68 26 27 28 72 29 73 75 76 80 30 81 31 37 41 42 82 83 44 85 49 87 50 91 100 52 53 55 56 57 101 103 104 105 106 59 107 109 112 60 63 64 114 122 65 124 66 126 69 70 71 74 127...

output:

3748
4 8
9 14
16 19
20 21
23 25
32 33
34 35
36 38
39 40
43 45
46 47
48 51
54 58
61 62
67 68
72 73
75 76
80 81
82 83
85 87
91 100
101 103
104 105
106 107
109 112
114 122
124 126
127 129
131 139
142 143
146 147
151 152
153 155
156 159
160 161
163 165
166 167
168 169
171 177
180 181
182 185
187 188
190...

result:

ok Correct

Test #41:

score: 0
Accepted
time: 24ms
memory: 8188kb

input:

7497
4 1 7 11 14 15 18 22 2 23 3 5 26 34 35 6 8 36 38 9 10 12 13 39 40 43 44 45 16 17 47 48 49 19 50 57 59 60 20 21 24 25 62 27 28 64 67 68 29 30 31 71 76 77 79 32 81 33 82 84 85 86 87 88 37 41 90 92 93 95 42 96 97 103 105 46 51 52 53 107 108 109 110 54 55 111 112 113 56 115 58 61 63 117 65 118 119 ...

output:

3749
4 7
11 14
15 18
22 23
26 34
35 36
38 39
40 43
44 45
47 48
49 50
57 59
60 62
64 67
68 71
76 77
79 81
82 84
85 86
87 88
90 92
93 95
96 97
103 105
107 108
109 110
111 112
113 115
117 118
119 122
124 125
127 128
130 131
132 134
135 136
138 143
145 146
147 149
150 151
152 153
154 155
158 159
168 172...

result:

ok Correct

Test #42:

score: 0
Accepted
time: 28ms
memory: 8660kb

input:

7498
4 5 6 1 9 2 3 7 8 13 10 16 17 20 21 25 11 26 28 12 14 15 18 19 22 23 24 30 31 27 33 29 32 39 48 34 35 49 36 51 37 54 38 40 55 41 56 42 43 57 58 59 44 61 64 65 45 71 46 47 50 52 72 53 73 77 78 60 62 88 92 93 63 66 95 99 67 68 100 69 70 74 75 101 76 79 102 103 106 80 81 109 115 116 117 82 120 124...

output:

3749
4 5
6 9
13 16
17 20
21 25
26 28
30 31
33 39
48 49
51 54
55 56
57 58
59 61
64 65
71 72
73 77
78 88
92 93
95 99
100 101
102 103
106 109
115 116
117 120
124 125
127 131
133 134
135 139
141 143
144 146
148 149
151 153
154 155
156 158
160 163
164 165
166 169
170 172
173 175
177 181
182 183
184 185
1...

result:

ok Correct

Test #43:

score: 0
Accepted
time: 26ms
memory: 8176kb

input:

7499
2 3 5 1 8 4 6 14 7 20 22 9 23 25 26 34 38 10 11 12 39 13 40 15 41 16 44 45 17 18 19 46 51 53 54 59 21 24 27 61 28 62 29 63 30 64 65 31 32 33 66 67 35 36 68 69 72 73 74 80 83 37 85 42 43 87 47 88 48 49 89 50 52 90 92 93 55 56 97 101 102 103 57 58 105 106 60 70 71 75 109 76 111 77 78 79 112 81 11...

output:

3750
2 3
5 8
14 20
22 23
25 26
34 38
39 40
41 44
45 46
51 53
54 59
61 62
63 64
65 66
67 68
69 72
73 74
80 83
85 87
88 89
90 92
93 97
101 102
103 105
106 109
111 112
113 116
117 118
119 122
123 125
126 130
132 133
134 135
136 137
139 140
143 145
147 149
151 152
154 155
157 160
162 163
164 165
171 177...

result:

ok Correct

Test #44:

score: 0
Accepted
time: 28ms
memory: 8244kb

input:

7500
4 6 1 2 14 16 17 18 3 21 22 23 24 5 27 31 7 32 8 9 10 11 12 13 15 19 20 25 26 28 35 39 40 41 29 30 42 44 33 49 34 52 36 54 55 37 38 58 43 59 61 62 67 68 45 46 47 69 72 48 50 51 53 73 56 57 74 75 76 80 82 84 85 88 91 60 63 93 94 95 64 97 98 65 66 99 102 70 107 108 71 77 78 109 112 113 116 79 81 ...

output:

3750
4 6
14 16
17 18
21 22
23 24
27 31
32 35
39 40
41 42
44 49
52 54
55 58
59 61
62 67
68 69
72 73
74 75
76 80
82 84
85 88
91 93
94 95
97 98
99 102
107 108
109 112
113 116
117 118
124 125
132 134
136 140
141 144
146 147
148 150
152 153
157 159
161 163
168 170
171 172
174 176
178 179
180 182
184 185
...

result:

ok Correct

Test #45:

score: 0
Accepted
time: 3140ms
memory: 89524kb

input:

99995
4 5 6 8 10 1 11 2 3 14 16 19 21 7 22 9 24 26 27 12 29 31 35 43 13 47 15 17 48 18 51 20 23 25 28 52 53 55 30 56 58 32 60 61 33 34 36 63 37 38 64 65 39 66 70 40 72 77 86 88 89 41 42 44 45 46 91 49 93 94 95 98 100 50 101 54 102 103 57 59 62 67 104 108 68 112 116 117 118 119 69 120 71 73 74 123 12...

output:

49998
4 5
6 8
10 11
14 16
19 21
22 24
26 27
29 31
35 43
47 48
51 52
53 55
56 58
60 61
63 64
65 66
70 72
77 86
88 89
91 93
94 95
98 100
101 102
103 104
108 112
116 117
118 119
120 123
126 127
128 129
133 134
136 137
138 139
142 143
145 146
147 148
149 150
153 154
157 159
165 167
169 172
177 179
180 1...

result:

ok Correct

Test #46:

score: 0
Accepted
time: 3156ms
memory: 81044kb

input:

99996
4 1 2 5 7 3 6 10 8 9 16 17 18 11 20 12 13 14 21 15 27 28 30 31 32 19 22 23 33 37 38 40 41 24 25 42 43 44 47 26 29 48 34 35 50 36 39 53 45 59 46 62 49 51 63 69 70 52 54 73 55 75 82 83 89 96 56 97 98 99 57 100 58 101 107 60 109 110 112 61 64 65 66 113 114 67 116 120 122 130 68 131 71 137 72 74 7...

output:

49998
4 5
7 10
16 17
18 20
21 27
28 30
31 32
33 37
38 40
41 42
43 44
47 48
50 53
59 62
63 69
70 73
75 82
83 89
96 97
98 99
100 101
107 109
110 112
113 114
116 120
122 130
131 137
141 143
145 147
149 151
152 157
160 161
163 164
165 166
168 169
171 172
174 175
176 180
181 183
184 186
187 192
193 194
1...

result:

ok Correct

Test #47:

score: 0
Accepted
time: 3222ms
memory: 129824kb

input:

99997
1 7 12 2 3 4 5 13 15 20 6 24 8 25 9 10 11 14 27 29 31 16 32 33 17 18 19 34 35 36 37 39 41 42 21 22 43 44 51 23 53 54 56 26 58 28 59 64 30 65 38 40 70 71 72 75 45 76 46 47 77 82 48 49 83 84 50 85 52 86 87 55 57 60 61 88 62 91 63 66 93 94 97 67 68 98 69 100 73 74 103 78 104 105 79 106 107 108 10...

output:

49999
7 12
13 15
20 24
25 27
29 31
32 33
34 35
36 37
39 41
42 43
44 51
53 54
56 58
59 64
65 70
71 72
75 76
77 82
83 84
85 86
87 88
91 93
94 97
98 100
103 104
105 106
107 108
109 110
112 121
123 124
125 126
129 130
132 134
135 139
143 144
145 146
149 150
156 158
159 161
162 166
167 169
171 173
179 18...

result:

ok Correct

Test #48:

score: 0
Accepted
time: 3165ms
memory: 88592kb

input:

99998
2 1 4 6 3 5 8 12 7 17 9 18 20 22 25 26 28 10 34 35 11 13 40 14 43 46 15 16 19 47 48 21 51 52 53 23 55 24 57 27 29 30 31 59 32 63 65 66 68 33 69 36 70 71 37 72 74 38 39 75 41 77 42 79 81 83 85 86 89 44 90 91 45 49 92 95 96 98 50 100 104 54 56 58 107 109 110 60 61 111 113 62 115 64 118 123 125 6...

output:

49999
2 4
6 8
12 17
18 20
22 25
26 28
34 35
40 43
46 47
48 51
52 53
55 57
59 63
65 66
68 69
70 71
72 74
75 77
79 81
83 85
86 89
90 91
92 95
96 98
100 104
107 109
110 111
113 115
118 123
125 129
130 131
133 134
136 138
139 140
141 143
145 147
150 153
154 158
165 166
167 168
169 173
174 177
178 180
18...

result:

ok Correct

Test #49:

score: 0
Accepted
time: 3273ms
memory: 140476kb

input:

99999
2 4 8 1 9 10 3 13 5 14 6 7 18 11 12 29 32 34 15 41 42 16 17 19 20 21 43 47 54 22 23 24 56 25 26 57 27 58 59 28 30 61 31 63 33 35 36 65 66 37 38 69 70 39 40 74 44 75 45 46 48 49 50 51 52 53 55 60 76 62 64 77 78 79 67 81 68 85 87 88 93 94 98 102 105 110 112 113 114 115 71 116 72 118 73 121 122 1...

output:

50000
2 4
8 9
10 13
14 18
29 32
34 41
42 43
47 54
56 57
58 59
61 63
65 66
69 70
74 75
76 77
78 79
81 85
87 88
93 94
98 102
105 110
112 113
114 115
116 118
121 122
123 125
133 136
140 141
143 144
146 149
150 153
155 158
167 168
171 174
175 179
180 186
187 190
192 193
194 195
198 200
206 207
209 210
2...

result:

ok Correct

Test #50:

score: 0
Accepted
time: 3167ms
memory: 89352kb

input:

100000
1 4 5 9 2 3 11 12 20 6 23 24 25 26 29 7 8 30 10 31 34 13 35 39 14 15 41 42 43 44 16 17 18 45 19 21 22 27 47 50 52 53 28 54 32 56 33 57 59 36 61 37 38 64 40 67 46 48 68 49 51 55 70 75 58 60 62 63 78 85 90 92 93 65 66 69 71 72 97 73 101 104 74 105 76 77 108 79 109 80 81 82 111 112 83 114 84 86 ...

output:

50000
4 5
9 11
12 20
23 24
25 26
29 30
31 34
35 39
41 42
43 44
45 47
50 52
53 54
56 57
59 61
64 67
68 70
75 78
85 90
92 93
97 101
104 105
108 109
111 112
114 117
119 121
122 127
130 131
135 139
144 145
146 147
148 149
151 152
154 157
160 161
162 163
166 167
168 171
173 174
179 182
183 184
185 187
19...

result:

ok Correct

Subtask #3:

score: 0
Runtime Error

Test #51:

score: 0
Runtime Error

input:

1
1

output:

Unauthorized output

result:


Subtask #4:

score: 0
Skipped

Dependency #3:

0%

Subtask #5:

score: 0
Skipped

Dependency #4:

0%

Subtask #6:

score: 0
Skipped

Dependency #5:

0%

Subtask #7:

score: 0
Skipped

Dependency #1:

0%