QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#615207#9424. Stop the Castle 2kenkenkenAC ✓694ms45204kbC++236.4kb2024-10-05 17:50:392024-10-05 17:50:49

Judging History

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

  • [2024-10-05 17:50:49]
  • 评测
  • 测评结果:AC
  • 用时:694ms
  • 内存:45204kb
  • [2024-10-05 17:50:39]
  • 提交

answer

#include <bits/stdc++.h>
#define F first
#define S second
#define pb push_back
#define pob pop_back
#define SZ(x) (int)(x.size())
#define all(x) begin(x), end(x)
#ifdef LOCAL
#define HEHE freopen("in.txt", "r", stdin);
#define debug(...) {cout << #__VA_ARGS__ << " = "; dbg(__VA_ARGS__);}
#else
#define HEHE ios_base::sync_with_stdio(0), cin.tie(0);
#define debug(...) 7122;
#endif
using namespace std;

#define chmax(a, b) (a) = (a) > (b) ? (a) : (b)
#define chmin(a, b) (a) = (a) < (b) ? (a) : (b)

#define FOR(i, a, b) for (int i = (a); i <= (b); i++)
void dbg() { cerr << '\n'; }
template<typename T, typename ...U>
void dbg(T t, U ...u) { cerr << t << ' '; dbg(u...); }

#define int long long

struct Dinic {
    #define SZ(x) (int)(x.size())
    struct Edge {
        int to, w, rid;
    };
    vector<vector<Edge>> adj;
    void add_edge(int u, int v, int w) {
        adj[u].pb({v, w, SZ(adj[v])});
        adj[v].pb({u, 0, SZ(adj[u]) - 1});
    }
    int n;
    void init(int _n) {
        n = _n;
        adj.clear();
        adj.resize(n + 1);
    }
    vector<int> d;
    bool bfs(int s, int t) {
        queue<int> q; q.push(s);
        d.assign(n + 1, -1);
        d[s] = 1;
        while (q.size()) {
            int x = q.front(); q.pop();
            for (auto [y, w, rid] : adj[x]) {
                if (d[y] == -1 and w) {
                    d[y] = d[x] + 1;
                    q.push(y);
                }
            }
        }
        return d[t] != -1;
    }
    vector<int> it;
    int dfs(int x, int t, int limit) {
        if (x == t) return limit;
        for (int &i = it[x]; i < SZ(adj[x]); i++) {
            auto &[y, w, rid] = adj[x][i];
            if (!w or d[y] != d[x] + 1) continue;
            if (int r = dfs(y, t, min(limit, w))) {
                w -= r;
                adj[y][rid].w += r;
                return r;
            }
        }
        return 0;
    }
    int max_flow(int s, int t) {
        int flow = 0;
        while (bfs(s, t)) {
            it.assign(n + 1, 0);
            while (int v = dfs(s, t, 2e9)) {
                flow += v;
            }
        }
        return flow;
    }
} dinic;

void solve() {
    int n, m, k;
    cin >> n >> m >> k;
    map<int, vector<int>> r, c;
    FOR (i, 1, n) {
        int x, y; cin >> x >> y;
        r[x].pb(y); c[y].pb(x);
    }
    int atk = 0;
    for (auto &[x, y] : r) {
        sort(all(y));
        atk += y.size() - 1;
    }
    for (auto &[x, y] : c) {
        sort(all(y));
        atk += y.size() - 1;
    }
    vector<int> x(m + 1), y(m + 1);
    vector<int> ocp(m + 1, 0);
    FOR (i, 1, m) {
        cin >> x[i] >> y[i];
        int j = lower_bound(all(r[x[i]]), y[i]) - r[x[i]].begin();
        if (j != r[x[i]].size() and j - 1 >= 0) {
            ocp[i]++;
        }
        j = lower_bound(all(c[y[i]]), x[i]) - c[y[i]].begin();
        if (j != c[y[i]].size() and j - 1 >= 0) {
            ocp[i]++;
        }
    }
    map<tuple<int, int, int, int>, int> mp;
    vector<int> ls, rs; // left side, right side
    vector<pair<int, int>> e;
    map<pair<int, int>, int> eid;
    int cnt = 0;
    FOR (i, 1, m) {
        if (ocp[i] < 2) continue;
        int j1 = lower_bound(all(r[x[i]]), y[i]) - r[x[i]].begin();
        int j2 = lower_bound(all(c[y[i]]), x[i]) - c[y[i]].begin();
        tuple<int, int, int, int> p1 = {x[i], r[x[i]][j1 - 1], x[i], r[x[i]][j1]};
        tuple<int, int, int, int> p2 = {c[y[i]][j2 - 1], y[i], c[y[i]][j2], y[i]};
        if (!mp[p1]) {
            mp[p1] = ++cnt; ls.pb(cnt);
        }
        if (!mp[p2]) {
            mp[p2] = ++cnt; rs.pb(cnt);
        }
        e.pb({mp[p1], mp[p2]});
        eid[{mp[p1], mp[p2]}] = i;
    }
    dinic.init(cnt + 1);
    for (int i : ls) dinic.add_edge(0, i, 1);
    for (int i : rs) dinic.add_edge(i, cnt + 1, 1);
    for (auto [i, j] : e) dinic.add_edge(i, j, 1);
    int flow = dinic.max_flow(0, cnt + 1);
    vector<int> f(m + 1, 0);
    int re = m - k;
    debug(flow, atk, re);
    set<tuple<int, int, int, int>> s;
    for (int u : ls) {
        for (auto [v, w, rid] : dinic.adj[u]) {
            if (re > 0 and v != 0 and w == 0) {
                int i = eid[{u, v}];
                int j1 = lower_bound(all(r[x[i]]), y[i]) - r[x[i]].begin();
                int j2 = lower_bound(all(c[y[i]]), x[i]) - c[y[i]].begin();
                tuple<int, int, int, int> p1 = {x[i], r[x[i]][j1 - 1], x[i], r[x[i]][j1]};
                tuple<int, int, int, int> p2 = {c[y[i]][j2 - 1], y[i], c[y[i]][j2], y[i]};
                s.insert(p1); s.insert(p2);
                f[i] = 1;
                re--;
                atk -= 2;
            }
        }
    }
    // recalculate ocp
    ocp.assign(m + 1, 0);
    FOR (i, 1, m) {
        if (!re) break;
        {
            int j1 = lower_bound(all(r[x[i]]), y[i]) - r[x[i]].begin();
            int j2 = lower_bound(all(c[y[i]]), x[i]) - c[y[i]].begin();
            if (j1 >= 1 and j1 != r[x[i]].size()) {
                tuple<int, int, int, int> p1 = {x[i], r[x[i]][j1 - 1], x[i], r[x[i]][j1]};
                if (s.find(p1) == s.end()) ocp[i]++;
            }
            if (j2 >= 1 and j2 != c[y[i]].size()) {
                tuple<int, int, int, int> p2 = {c[y[i]][j2 - 1], y[i], c[y[i]][j2], y[i]};
                if (s.find(p2) == s.end()) ocp[i]++;
            }
        }
        if (ocp[i] == 0 or f[i]) continue;
        f[i] = 1;
        re--; atk--;
        {
            int j1 = lower_bound(all(r[x[i]]), y[i]) - r[x[i]].begin();
            int j2 = lower_bound(all(c[y[i]]), x[i]) - c[y[i]].begin();
            if (j1 >= 1 and j1 != r[x[i]].size()) {
                tuple<int, int, int, int> p1 = {x[i], r[x[i]][j1 - 1], x[i], r[x[i]][j1]};
                s.insert(p1);
            }
            if (j2 >= 1 and j2 != c[y[i]].size()) {
                tuple<int, int, int, int> p2 = {c[y[i]][j2 - 1], y[i], c[y[i]][j2], y[i]};
                s.insert(p2);
            }
        }
    }

    FOR (i, 1, m) {
        if (!re) break;
        if (f[i]) continue;
        f[i] = 1; re--;
    }
    vector<int> an;
    FOR (i, 1, m) if (!f[i]) an.pb(i);
    assert(k == an.size());
    cout << atk << '\n';
    for (int i : an) cout << i << ' ';
    cout << '\n';
}
signed main() {
    HEHE
    int t; cin >> t;
    while (t--) solve();
}

这程序好像有点Bug,我给组数据试试?

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3644kb

input:

3
8 6 4
1 3
2 1
2 6
4 1
4 7
6 1
6 3
6 6
2 3
3 1
4 3
4 6
5 2
6 4
3 2 1
10 12
10 10
10 11
1 4
1 5
1 3 2
1 1
2 1
2 2
2 3

output:

4
2 3 5 6 
2
2 
0
2 3 

result:

ok ok 3 cases (3 test cases)

Test #2:

score: 0
Accepted
time: 170ms
memory: 7844kb

input:

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

output:

7
3 4 5 6 7 8 9 10 11 12 13 15 16 17 
15
2 3 
0
3 4 5 6 
0
2 3 4 5 6 7 8 9 
11
1 3 
8
1 2 3 
0
1 2 3 4 5 6 7 8 9 10 11 12 
1
5 6 7 9 10 11 12 
8
17 18 19 
1
1 2 3 4 5 6 7 8 
7
6 8 
10
13 14 15 
1
10 11 12 13 14 15 16 17 18 19 20 
0
1 
1
2 3 
0
5 6 7 
7
8 12 13 14 15 
2
10 11 12 13 14 
4
3 4 5 6 7 8 ...

result:

ok ok 1224 cases (1224 test cases)

Test #3:

score: 0
Accepted
time: 535ms
memory: 45204kb

input:

1
86289 95092 40401
911 152
1 270
135 731
347 451
283 224
338 348
166 346
12 385
590 763
939 176
232 405
122 946
397 576
795 823
546 392
33 718
444 598
954 852
185 662
732 539
172 681
386 148
76 495
163 323
711 201
278 363
531 275
66 122
823 983
234 792
102 188
985 423
804 712
419 636
318 331
693 68...

output:

81531
6581 6590 6592 6596 6599 6604 6605 6607 6613 6614 6617 6629 6631 6633 6636 6637 6641 6645 6647 6648 6652 6655 6657 6663 6668 6669 6673 6682 6687 6688 6691 6692 6695 6698 6699 6702 6710 6713 6722 6727 6728 6731 6734 6735 6737 6738 6742 6745 6746 6747 6748 6754 6758 6761 6762 6765 6766 6773 6775...

result:

ok ok 1 cases (1 test case)

Test #4:

score: 0
Accepted
time: 391ms
memory: 36508kb

input:

1
99057 99722 73893
190482185 274379837
466851670 641324039
993028302 128875937
102891466 286559847
526771097 794238060
565736409 328262657
190329865 598878250
790626887 595298790
308031819 470646878
341575785 374318107
257299536 280924175
64420619 591124604
323023069 811512407
428956686 719615923
2...

output:

82045
1 6 9 10 11 13 15 16 18 19 20 21 22 24 25 28 29 30 33 34 35 36 37 39 43 45 49 50 51 52 54 55 59 60 61 62 65 67 69 70 71 79 81 82 83 87 89 90 91 93 94 95 96 99 100 101 102 104 105 107 109 110 111 112 113 114 120 124 128 129 131 133 136 137 138 142 143 147 148 149 151 152 153 154 155 156 159 163...

result:

ok ok 1 cases (1 test case)

Test #5:

score: 0
Accepted
time: 694ms
memory: 40908kb

input:

1
100000 99990 27662
913840909 999962982
690565691 31053
780601566 31053
54745498 31053
5383 859704869
538124857 999962982
5383 66851413
1444277 31053
119603839 999962982
999833258 543197820
999833258 349576387
999833258 759855830
999833258 124692224
266093388 999962982
5383 100041707
999833258 2843...

output:

100891
65543 65545 65547 65548 65550 65551 65552 65553 65554 65555 65556 65557 65558 65560 65561 65562 65565 65567 65568 65569 65570 65571 65572 65573 65574 65575 65578 65579 65580 65581 65582 65583 65584 65585 65586 65587 65588 65589 65590 65592 65593 65594 65595 65596 65597 65598 65599 65600 65601...

result:

ok ok 1 cases (1 test case)

Test #6:

score: 0
Accepted
time: 545ms
memory: 33408kb

input:

1
100000 49997 21428
9380 4333
9380 999999628
49202 4333
49202 999999628
50841 4333
50841 999999628
77418 4333
77418 999999628
95722 4333
95722 999999628
144002 4333
144002 999999628
234359 4333
234359 999999628
268942 4333
268942 999999628
288956 4333
288956 999999628
415094 4333
415094 999999628
4...

output:

100000
7099 7100 7102 7103 7104 7105 7106 7108 7110 7113 7114 7117 7119 7120 7122 7123 7126 7130 7131 7134 7135 7136 7140 7145 7149 7151 7154 7157 7158 7160 7162 7163 7167 7170 7172 7173 7174 7176 7178 7182 7183 7184 7188 7190 7197 7199 7201 7204 7205 7206 7208 7209 7211 7212 7213 7215 7216 7221 722...

result:

ok ok 1 cases (1 test case)

Test #7:

score: 0
Accepted
time: 189ms
memory: 29160kb

input:

1
100000 100000 76259
931427170 7
367311884 7
646435086 7
925372747 7
371054451 7
284185575 7
695090232 7
889183241 7
615617158 7
44230096 7
293281406 7
758261641 7
685549291 7
679471071 7
723138327 7
901136691 7
49281635 7
256352978 7
320188290 7
78730802 7
788131872 7
234735044 7
664906524 7
79430...

output:

76258
463 577 797 819 881 890 900 923 993 1008 1061 1208 1267 1273 1283 1330 1357 1370 1381 1402 1438 1488 1493 1550 1556 1566 1614 1619 1655 1673 1721 1727 1758 1767 1804 1813 1829 1831 1844 1882 1906 1908 1914 1941 2020 2100 2193 2201 2209 2245 2284 2289 2303 2456 2466 2476 2484 2504 2537 2557 256...

result:

ok ok 1 cases (1 test case)

Test #8:

score: 0
Accepted
time: 135ms
memory: 31696kb

input:

1
100000 49999 24999
2 1
2 1000000000
3 1
3 1000000000
4 1
4 1000000000
5 1
5 1000000000
6 1
6 1000000000
7 1
7 1000000000
8 1
8 1000000000
9 1
9 1000000000
10 1
10 1000000000
11 1
11 1000000000
12 1
12 1000000000
13 1
13 1000000000
14 1
14 1000000000
15 1
15 1000000000
16 1
16 1000000000
17 1
17 10...

output:

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

result:

ok ok 1 cases (1 test case)

Test #9:

score: 0
Accepted
time: 185ms
memory: 15488kb

input:

556
16 6 3
2 1
2 1000000000
3 1
3 1000000000
4 1
4 1000000000
1 2
1000000000 2
1 3
1000000000 3
1 4
1000000000 4
1 5
1000000000 5
1 6
1000000000 6
2 3
3 3
3 2
4 2
2 4
4 4
32 12 6
2 1
2 1000000000
3 1
3 1000000000
4 1
4 1000000000
5 1
5 1000000000
6 1
6 1000000000
7 1
7 1000000000
8 1
8 1000000000
9 ...

output:

14
2 4 5 
32
2 4 5 10 11 12 
31
3 5 6 7 8 11 14 16 
8
1 
13
2 4 
19
4 5 7 8 9 
11
2 3 4 
20
3 5 6 
15
3 4 6 7 
33
4 6 8 9 10 12 14 
31
4 6 7 9 11 12 13 16 
19
2 3 4 7 8 
31
2 5 6 9 10 
15
3 4 5 8 
28
4 6 7 8 10 
11
1 
19
2 3 5 7 10 
23
1 5 6 9 10 12 
34
1 7 10 11 12 13 14 16 
31
3 5 7 8 9 12 13 14 
...

result:

ok ok 556 cases (556 test cases)

Test #10:

score: 0
Accepted
time: 483ms
memory: 33172kb

input:

1
100000 50000 25000
2 1
2 1000000000
3 1
3 1000000000
4 1
4 1000000000
5 1
5 1000000000
6 1
6 1000000000
7 1
7 1000000000
8 1
8 1000000000
9 1
9 1000000000
10 1
10 1000000000
11 1
11 1000000000
12 1
12 1000000000
13 1
13 1000000000
14 1
14 1000000000
15 1
15 1000000000
16 1
16 1000000000
17 1
17 10...

output:

99996
2 3 6 9 12 13 16 17 21 23 24 26 27 29 31 32 35 37 40 42 44 49 50 52 53 58 59 62 66 67 69 70 71 72 73 74 75 76 77 79 80 81 83 84 86 87 92 93 95 96 98 99 100 101 105 106 107 108 110 112 116 120 123 125 126 127 128 131 133 134 136 139 140 142 144 150 154 161 163 166 167 168 169 171 172 175 181 18...

result:

ok ok 1 cases (1 test case)

Test #11:

score: 0
Accepted
time: 172ms
memory: 15348kb

input:

556
32 15 7
2 1
2 1000000000
3 1
3 1000000000
4 1
4 1000000000
5 1
5 1000000000
6 1
6 1000000000
7 1
7 1000000000
8 1
8 1000000000
9 1
9 1000000000
1 2
1000000000 2
1 3
1000000000 3
1 4
1000000000 4
1 5
1000000000 5
1 6
1000000000 6
1 7
1000000000 7
1 8
1000000000 8
1 9
1000000000 9
7 6
4 3
5 4
2 2
...

output:

28
1 2 3 7 8 10 15 
11
1 4 
20
3 4 
23
4 7 8 9 10 
26
1 2 6 7 8 
17
1 
10
2 
31
2 3 6 8 
14
1 
31
2 3 4 5 7 11 14 
34
2 3 4 5 7 8 15 
16
3 
32
1 2 6 7 8 
29
3 5 
28
1 6 7 8 10 12 15 
31
1 2 4 5 6 8 14 
25
3 5 8 9 
15
2 4 5 
29
1 5 6 9 11 
31
1 4 7 8 
15
1 2 7 
29
1 3 
27
1 3 6 
19
5 6 7 9 
25
1 6 7 ...

result:

ok ok 556 cases (556 test cases)

Test #12:

score: 0
Accepted
time: 466ms
memory: 33804kb

input:

1
100000 49999 24999
2 1
2 1000000000
3 1
3 1000000000
4 1
4 1000000000
5 1
5 1000000000
6 1
6 1000000000
7 1
7 1000000000
8 1
8 1000000000
9 1
9 1000000000
10 1
10 1000000000
11 1
11 1000000000
12 1
12 1000000000
13 1
13 1000000000
14 1
14 1000000000
15 1
15 1000000000
16 1
16 1000000000
17 1
17 10...

output:

99996
1 3 4 6 8 10 12 17 20 22 25 26 27 29 30 32 33 34 35 37 39 42 44 47 48 49 51 54 58 59 60 61 68 69 70 72 74 75 77 78 81 82 84 85 88 89 90 91 93 94 96 97 98 100 103 110 111 112 114 115 116 120 123 124 127 129 130 133 135 136 139 140 143 145 146 149 150 152 153 160 163 169 171 174 175 176 178 179 ...

result:

ok ok 1 cases (1 test case)

Test #13:

score: 0
Accepted
time: 182ms
memory: 15324kb

input:

556
22 1 1
2 1
2 1000000000
1 2
1000000000 2
1 3
1000000000 3
1 4
1000000000 4
1 5
1000000000 5
1 6
1000000000 6
1 7
1000000000 7
1 8
1000000000 8
1 9
1000000000 9
1 10
1000000000 10
1 11
1000000000 11
2 2
18 3 1
2 1
2 1000000000
3 1
3 1000000000
1 2
1000000000 2
1 3
1000000000 3
1 4
1000000000 4
1 ...

output:

29
1 
19
1 
20
1 5 
14
2 5 
25
2 
28
1 2 3 4 6 8 9 
23
1 
29
3 5 8 10 11 
28
2 3 5 6 
5
1 
23
6 7 8 9 11 
31
2 3 5 10 13 14 15 
29
2 3 
7
1 
26
1 
27
2 3 6 9 12 13 
24
1 5 7 
14
3 5 
32
3 4 5 6 10 11 13 14 
24
1 2 5 
27
1 2 3 6 7 10 
32
1 2 3 4 5 9 14 15 
30
1 3 5 
24
2 3 7 
15
2 3 6 
26
1 
18
1 2 6...

result:

ok ok 556 cases (556 test cases)

Test #14:

score: 0
Accepted
time: 479ms
memory: 32884kb

input:

1
100000 49999 24999
2 1
2 1000000000
3 1
3 1000000000
4 1
4 1000000000
5 1
5 1000000000
6 1
6 1000000000
7 1
7 1000000000
8 1
8 1000000000
9 1
9 1000000000
10 1
10 1000000000
11 1
11 1000000000
12 1
12 1000000000
13 1
13 1000000000
14 1
14 1000000000
15 1
15 1000000000
16 1
16 1000000000
17 1
17 10...

output:

99996
1 2 8 11 13 14 15 16 17 19 20 21 26 29 31 36 39 42 45 46 49 51 53 54 55 57 61 62 64 67 68 69 71 73 74 76 78 79 80 81 82 84 85 88 89 91 94 100 101 103 104 109 110 112 113 115 116 120 123 127 130 131 132 133 136 141 147 149 150 151 153 154 155 158 159 161 163 167 168 170 171 173 174 175 177 178 ...

result:

ok ok 1 cases (1 test case)

Test #15:

score: 0
Accepted
time: 286ms
memory: 27904kb

input:

1
100000 49998 34141
2 1
2 1000000000
3 1
3 1000000000
4 1
4 1000000000
5 1
5 1000000000
6 1
6 1000000000
7 1
7 1000000000
8 1
8 1000000000
9 1
9 1000000000
10 1
10 1000000000
11 1
11 1000000000
12 1
12 1000000000
13 1
13 1000000000
14 1
14 1000000000
15 1
15 1000000000
16 1
16 1000000000
17 1
17 10...

output:

118282
1 2 3 4 5 6 7 8 11 12 14 15 16 23 25 26 27 28 29 30 31 32 33 34 35 38 39 42 43 44 45 46 47 48 50 51 53 55 56 57 58 59 60 63 65 66 67 68 69 71 72 73 74 75 76 77 79 80 83 85 86 87 88 91 93 95 98 101 103 104 108 109 112 113 114 115 116 117 118 119 120 122 124 126 128 131 133 134 137 138 140 141 ...

result:

ok ok 1 cases (1 test case)

Test #16:

score: 0
Accepted
time: 347ms
memory: 35884kb

input:

1
100000 82275 67072
2 1
2 1000000000
3 1
3 1000000000
4 1
4 1000000000
5 1
5 1000000000
6 1
6 1000000000
7 1
7 1000000000
8 1
8 1000000000
9 1
9 1000000000
10 1
10 1000000000
11 1
11 1000000000
12 1
12 1000000000
13 1
13 1000000000
14 1
14 1000000000
15 1
15 1000000000
16 1
16 1000000000
17 1
17 10...

output:

119590
7 20 21 32 45 48 61 69 99 105 119 125 127 137 149 152 193 221 231 240 242 250 268 285 297 301 311 313 327 343 345 369 389 394 408 411 417 419 421 425 426 429 434 436 441 445 448 476 484 504 515 523 535 540 541 556 586 594 596 610 616 618 622 625 626 633 643 654 666 682 685 688 690 691 693 695...

result:

ok ok 1 cases (1 test case)

Test #17:

score: 0
Accepted
time: 171ms
memory: 18464kb

input:

556
30 12 6
2 1
2 1000000000
3 1
3 1000000000
4 1
4 1000000000
5 1
5 1000000000
6 1
6 1000000000
7 1
7 1000000000
8 1
8 1000000000
1 2
1000000000 2
1 3
1000000000 3
1 4
1000000000 4
1 5
1000000000 5
1 6
1000000000 6
1 7
1000000000 7
1 8
1000000000 8
1 9
1000000000 9
2 6
2 8
3 4
4 4
4 8
5 3
5 7
5 8
6...

output:

29
2 4 7 8 10 11 
19
2 3 5 6 7 8 9 10 11 
25
2 3 4 5 6 8 9 10 11 12 
13
3 4 5 
31
2 3 5 6 8 9 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 
36
1 4 5 8 9 10 13 
18
2 3 4 5 
20
3 4 6 7 8 
20
2 3 4 5 6 8 9 10 11 12 13 14 16 17 18 
12
2 3 4 5 
8
2 3 4 6 7 8 
15
2 3 4 5 6 
22
2 3 5 6 7 8 9 11 12 13...

result:

ok ok 556 cases (556 test cases)

Test #18:

score: 0
Accepted
time: 389ms
memory: 41480kb

input:

1
100000 99991 75553
2 1
2 1000000000
3 1
3 1000000000
4 1
4 1000000000
5 1
5 1000000000
6 1
6 1000000000
7 1
7 1000000000
8 1
8 1000000000
9 1
9 1000000000
10 1
10 1000000000
11 1
11 1000000000
12 1
12 1000000000
13 1
13 1000000000
14 1
14 1000000000
15 1
15 1000000000
16 1
16 1000000000
17 1
17 10...

output:

101120
2 3 5 7 8 9 11 12 13 15 16 17 18 20 21 22 23 24 25 26 27 30 32 33 34 35 37 39 41 42 43 44 47 48 50 52 54 55 57 58 59 60 61 62 64 65 66 67 68 71 72 73 75 76 77 78 79 80 81 82 85 86 87 88 89 90 91 92 93 95 97 98 99 101 102 103 104 105 107 108 109 110 111 112 114 115 116 117 119 120 121 122 124 ...

result:

ok ok 1 cases (1 test case)

Extra Test:

score: 0
Extra Test Passed