QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#59742#4863. Equivalence in ConnectivitycapturedAC ✓692ms218100kbC++177.9kb2022-10-31 22:36:062022-10-31 22:36:08

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-10-31 22:36:08]
  • 评测
  • 测评结果:AC
  • 用时:692ms
  • 内存:218100kb
  • [2022-10-31 22:36:06]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

#define endl "\n"
#define LL long long
#define deb(x) cerr<<#x<<" : "<<x<<" "
#define dnl    cerr<<endl
#define FOR(i,n) for(int i=0;i<n;i++)

#define cnd     tree[idx]
#define lnd     idx*2,b,(b+e)/2
#define rnd     idx*2+1,(b+e)/2 + 1,e

typedef pair<int,int> pii;

inline LL power(LL a,LL b,LL m){
    if(b==0)return 1;
    if(b==1)return a%m;
    LL x = power(a,b>>1,m);
    x = (x*x)%m;
    if(b%2){
        x = (x*a)%m;
    }
    return x;
}

const int mx = 4e5+5;
LL P[2][mx];
const int base[4]={23, 29,37,79};
const int mod[4]={87187,99991,(int)1e9+7, (int)1e9+9};
LL powerofmod[2][mx];
LL globalhash[2];
LL hashval[2][mx];
int cntofhash=2;

inline LL getcurrenthash(){
    LL x = globalhash[0], y = globalhash[1];
    return (x<<31)^y;
}

struct dsu_save {
    int v, rnkv, u, rnku;
    dsu_save() {}
    dsu_save(int _v, int _rnkv, int _u, int _rnku)
        : v(_v), rnkv(_rnkv), u(_u), rnku(_rnku) {}
};

struct dsu_with_rollbacks {
    int p[mx],rnk[mx],sz[mx];
    int comps;
    stack<dsu_save> op;
    int N;
    dsu_with_rollbacks() {}
    inline void add(int u){
        FOR(i,2){
            globalhash[i] += powerofmod[i][ hashval[i][u] ];
            globalhash[i] %= mod[i+2];
        }
    }
    inline void rem(int u){
        FOR(i,2){
            globalhash[i] -= powerofmod[i][ hashval[i][u] ];
            globalhash[i] += mod[i+2];
            globalhash[i] %= mod[i+2];
        }
    }
    inline void init(int n) {
        N = n;
        while(!op.empty())op.pop();
        for (int i = 0; i <= n; i++) {
            p[i] = i;
            rnk[i] = 0;
            FOR(j,cntofhash){
                hashval[j][i] = P[j][i];
                globalhash[j] += powerofmod[j][ P[j][i] ];
                globalhash[j] %= mod[j+2];
            }
        }
        comps = n;
    }
    inline int find_set(int v) {
        return (v == p[v]) ? v : find_set(p[v]);
    }
    inline bool unite(int v, int u) {
        v = find_set(v);
        u = find_set(u);
        if (v == u)
            return false;
        comps--;
        if (rnk[v] > rnk[u])
            swap(v, u);
        op.push(dsu_save(v, rnk[v], u, rnk[u]));
        p[v] = u;
        rem(u);
        rem(v);
        FOR(i,2){
            hashval[i][u] += hashval[i][v];
            hashval[i][u] %= mod[i];
        }
        add(u);
        if (rnk[u] == rnk[v])
            rnk[u]++;
        return true;
    }
    inline void rollback() {
        if (op.empty())
            return;
        dsu_save x = op.top();
        op.pop();
        comps++;
        rem(x.u);
        FOR(i,2){
            hashval[i][x.u] -= hashval[i][x.v];
            hashval[i][x.u] += mod[i];
            hashval[i][x.u] %= mod[i];
        }
        add(x.u);
        add(x.v);
        p[x.v] = x.v;
        rnk[x.v] = x.rnkv;
        p[x.u] = x.u;
        rnk[x.u] = x.rnku;
    }

//    void show(){
//        for(int i=1;i<=N;i++){
//            deb(i);deb(p[i]);deb(hashval[1][i]);
//            dnl;
//        }
//        FOR(i,cntofhash)deb(globalhash[i]);dnl;
//    }
} dsu;


struct oper{
    int typ;
    int u,v;
    int dest;
    bool united;
    void reset(){
        typ=0,u=0,v=0,dest=0,united=0;
    }
};
int posinq[4*mx];
oper oplist[4*mx];
LL finalhash[mx];
LL hashoftim[4*mx];
vector<oper> g[mx];
int curtime;
int kartime[4*mx];



void buildtimeline(int u,oper x){
    curtime++;
    oplist[curtime]=x;
    posinq[u]=curtime;
    kartime[curtime] = u;
    for(oper op:g[u]){
        buildtimeline(op.dest,op);
    }
    curtime++;
    x.typ *= -1;
    oplist[curtime] = x;
}



struct QueryTree {
    vector<oper> tree[10*mx];
    int T;
    QueryTree() {}
    inline void init(int _T){
        T = _T;
        FOR(i,4*_T+400)tree[i].clear();
    }
    inline void add_query_to_tree(int idx,int b,int e,int l,int r,oper q){
        if(l>e or r<b)return;
        if(l<=b and r>=e){
            q.united=0;
            cnd.push_back(q);
            return;
        }
        add_query_to_tree(lnd,l,r,q);
        add_query_to_tree(rnd,l,r,q);
    }
    inline void add_query(oper q, int l, int r) {
        add_query_to_tree(1, 1, T, l, r, q);
    }

    void offline_dcp(int idx,int b,int e){
        for(oper &q:cnd){
            q.united = dsu.unite(q.u,q.v);
        }
        hashoftim[b] = getcurrenthash();
        if(b==e){

        }
        else{
            offline_dcp(lnd);
            offline_dcp(rnd);
        }
        for(oper q:cnd){
            if(q.united){
                dsu.rollback();
            }
        }
    }
    inline void solve(){
        offline_dcp(1,1,T);
    }
} DCP;

vector<int> groups[mx];

void tcreset(int n,int k){
    FOR(i,k+2){
        finalhash[i] = 0;
        groups[i].clear();
        g[i].clear();
    }
    FOR(i,curtime+2){
        hashoftim[i]=0;
        oplist[i].reset();
    }
    FOR(i,2){
        globalhash[i]=0;
        FOR(j,n)hashval[i][j] = 0;
    }
    curtime = 0;
    FOR(i,n+2)posinq[i] = 0;
}





/*
3
8 5 2
1 5
1 4
1 add 2 4
1 add 3 4
1 add 2 4
4 add 3 4
4 add 1 3
5 add 1 3
2 add 2 3


*/



void solve(int cs){
    int n,m,k;
//    vector<vector<int>> timeline;
    cin>>k>>n>>m;
    dsu.init(n);
    curtime = 1;
    vector<vector<int>> edges;
    FOR(ii,m){
        int u,v;
        cin>>u>>v;
//        dsu.unite(u,v);
        oper cop;
        cop.dest=0,cop.typ=1;
        cop.u=u,cop.v=v;
        oplist[curtime++] = cop;
        edges.push_back({u,v});
    }
    FOR(i,k-1){
        int par;string s;int u,v;
        int typ;
        cin>>par>>s>>u>>v;
        if(s=="add")typ=1;
        else typ=-1;
        g[par].push_back({typ,u,v,i+2});
    }

    buildtimeline(1,{0,0,0,0});
    for(auto e:edges){
        oplist[curtime++] = {-1,e[0],e[1],0};
    }
    map<pii,int> mp;
    DCP.init(curtime);
    vector<int> used(curtime+2,0);
    for(int i=1;i<=curtime;i++){
        int u = oplist[i].u, v = oplist[i].v;
        int t = oplist[i].typ;
        if(u > v)swap(u,v);
        pii x(u,v);
        if(t==0)continue;
        if( t==-1 ){
            if(mp.find(x)==mp.end() or mp[x]==0){
            }
            else{
                int l = mp[x];
                DCP.add_query({1,u,v,0,0},l,i-1);
                mp[x] = 0;
                used[l]=1;
            }
        }
        else if(t==1){
            mp[x] = i;
        }
    }
    for(int i=1;i<=curtime;i++){
        if(oplist[i].typ==1 and !used[i]){
            int u = oplist[i].u, v = oplist[i].v;
            DCP.add_query(oplist[i],i,curtime);
        }
    }
    DCP.solve();

    unordered_map<LL,int> gmap;
    int groupcount = 0;
    for(int i=1;i<=k;i++){
        int t = posinq[i];
        LL cx = hashoftim[t];
        if(gmap.find(cx)==gmap.end()){
            gmap[cx]= i;
            groups[i].push_back(i);
            groupcount++;
        }
        else{
            int px = gmap[cx];
            groups[px].push_back(i);
        }
    }

//
    cout<<groupcount<<endl;
    for(int i=1;i<=k;i++){
        if((int)groups[i].size() > 0){
            cout<<(int)groups[i].size();
            for(int g:groups[i])cout<<" "<<g;
            cout<<endl;
        }
    }
    tcreset(n,k);
}


int main(){

    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    FOR(i,2){
        P[i][0]=1;
        for(int j=1;j<mx;j++){
            P[i][j] = (P[i][j-1]*base[i])%mod[i];
        }
    }

    FOR(i,2){
        powerofmod[i][0] = 1;
        for(int j=1;j<mod[i];j++){
            powerofmod[i][j] = powerofmod[i][j-1]*base[i+2];
            powerofmod[i][j] %= mod[i+2];
        }
    }

    int t;cin>>t;
    for(int cs=1;cs<=t;cs++){
        solve(cs);
    }
    return 0;
}


详细

Test #1:

score: 100
Accepted
time: 32ms
memory: 126784kb

input:

2
15 11 8
6 11
1 6
6 9
6 8
1 2
1 5
9 10
2 5
1 add 3 11
1 add 2 3
3 add 5 8
4 add 5 11
3 add 7 10
1 add 6 10
3 add 3 10
1 remove 6 8
5 add 4 9
1 add 2 9
8 add 7 8
3 add 2 4
1 remove 6 9
10 remove 6 9
14 5 2
1 5
1 4
1 add 2 4
1 add 3 4
1 add 2 4
4 add 3 4
4 add 1 3
5 add 1 3
2 add 2 3
1 add 1 2
4 add ...

output:

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

result:

ok 2 test cases (2 test cases)

Test #2:

score: 0
Accepted
time: 108ms
memory: 126456kb

input:

100000
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0...

output:

1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
...

result:

ok 100000 test cases (100000 test cases)

Test #3:

score: 0
Accepted
time: 80ms
memory: 126220kb

input:

50000
1 2 0
1 2 1
1 2
1 2 1
1 2
1 1 0
1 1 0
1 1 0
2 2 0
1 add 1 2
2 2 0
1 add 1 2
1 1 0
1 1 0
1 1 0
1 2 0
2 2 0
1 add 1 2
1 1 0
1 2 0
1 1 0
1 1 0
1 2 1
1 2
1 1 0
1 1 0
1 1 0
2 2 1
1 2
1 remove 1 2
1 1 0
1 2 0
2 2 1
1 2
1 remove 1 2
1 2 0
1 2 0
1 1 0
2 2 1
1 2
1 remove 1 2
1 1 0
1 1 0
2 2 0
1 add 1 2...

output:

1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
2
1 1
1 2
2
1 1
1 2
1
1 1
1
1 1
1
1 1
1
1 1
2
1 1
1 2
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
1
1 1
2
1 1
1 2
1
1 1
1
1 1
2
1 1
1 2
1
1 1
1
1 1
1
1 1
2
1 1
1 2
1
1 1
1
1 1
2
1 1
1 2
1
1 1
2
1 1
1 2
1
1 1
2
1 1
1 2
1
1 1
1
1 1
2
1 1
1 2
1
1 1
1
1 1
1
1 1
1
1 1
1
...

result:

ok 50000 test cases (50000 test cases)

Test #4:

score: 0
Accepted
time: 84ms
memory: 127852kb

input:

20000
1 1 0
5 4 5
1 4
2 3
2 4
1 3
1 2
1 remove 1 4
1 remove 1 3
3 add 1 3
3 remove 1 4
1 1 0
4 3 1
1 2
1 add 2 3
2 remove 2 3
3 add 2 3
2 4 2
2 3
1 3
1 add 3 4
2 4 0
1 add 3 4
1 3 3
1 3
2 3
1 2
3 3 1
1 2
1 add 2 3
1 add 2 3
2 4 0
1 add 1 2
2 4 3
2 4
1 4
2 3
1 add 1 3
1 2 1
1 2
1 3 3
1 3
2 3
1 2
1 1 ...

output:

1
1 1
1
5 1 2 3 4 5
1
1 1
2
2 1 3
2 2 4
2
1 1
1 2
2
1 1
1 2
1
1 1
2
1 1
2 2 3
2
1 1
1 2
1
2 1 2
1
1 1
1
1 1
1
1 1
2
1 1
1 2
3
1 1
2 2 4
1 3
1
1 1
2
3 1 3 4
1 2
1
1 1
1
3 1 2 3
1
1 1
4
2 1 3
1 2
1 4
1 5
1
1 1
1
1 1
2
2 1 4
3 2 3 5
2
1 1
1 2
2
1 1
1 2
1
1 1
3
1 1
1 2
1 3
2
3 1 2 3
1 4
2
1 1
2 2 3
1
1 ...

result:

ok 20000 test cases (20000 test cases)

Test #5:

score: 0
Accepted
time: 105ms
memory: 126708kb

input:

10000
1 4 4
3 4
1 3
1 2
2 3
3 4 4
2 3
1 3
1 2
3 4
1 add 2 4
1 remove 3 4
8 6 9
1 5
3 5
2 3
1 3
3 4
4 5
1 2
2 5
4 6
1 remove 3 5
2 remove 3 4
3 remove 1 3
3 remove 1 3
1 add 5 6
1 add 3 6
1 add 2 6
1 1 0
2 5 9
3 4
4 5
1 4
1 3
1 5
3 5
2 5
1 2
2 3
1 remove 2 3
9 2 1
1 2
1 remove 1 2
2 add 1 2
1 remove ...

output:

1
1 1
2
2 1 2
1 3
1
8 1 2 3 4 5 6 7 8
1
1 1
1
2 1 2
2
3 1 3 9
6 2 4 5 6 7 8
7
1 1
1 2
2 3 8
1 4
2 5 6
1 7
1 9
3
2 1 3
1 2
1 4
4
1 1
1 2
2 3 5
1 4
1
1 1
5
1 1
1 2
1 3
1 4
1 5
5
1 1
2 2 6
1 3
1 4
1 5
4
1 1
3 2 3 7
3 4 6 8
1 5
2
1 1
1 2
3
1 1
1 2
1 3
2
3 1 4 5
2 2 3
1
1 1
5
1 1
1 2
4 3 4 6 7
2 5 8
1 9
...

result:

ok 10000 test cases (10000 test cases)

Test #6:

score: 0
Accepted
time: 108ms
memory: 127616kb

input:

5000
18 10 13
4 7
2 5
1 8
8 10
4 6
9 10
3 10
8 9
1 7
2 4
3 9
2 9
2 3
1 remove 1 7
1 remove 4 7
1 add 6 8
4 add 5 6
2 add 4 9
3 add 2 6
6 remove 4 9
6 add 3 6
7 remove 2 9
10 add 6 10
9 add 7 9
8 add 3 6
8 add 1 9
1 remove 1 7
2 add 4 10
5 add 3 5
13 add 5 7
9 3 3
2 3
1 3
1 2
1 remove 2 3
1 remove 1 ...

output:

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

result:

ok 5000 test cases (5000 test cases)

Test #7:

score: 0
Accepted
time: 116ms
memory: 126760kb

input:

2000
11 40 21
6 19
16 18
24 30
13 35
16 32
7 11
17 38
28 33
32 36
17 26
28 30
2 19
3 17
9 12
21 34
8 40
13 27
23 36
24 32
22 27
16 31
1 add 4 11
2 add 31 34
1 add 8 13
2 add 8 22
5 add 6 30
6 add 21 29
1 add 12 38
6 add 27 32
1 add 33 35
3 add 13 18
27 49 19
10 46
15 47
23 34
38 39
20 24
2 18
1 13
4...

output:

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

result:

ok 2000 test cases (2000 test cases)

Test #8:

score: 0
Accepted
time: 151ms
memory: 127972kb

input:

1000
54 84 96
19 74
38 61
61 66
26 59
31 56
12 48
24 63
5 14
12 14
51 78
36 49
18 64
14 38
16 50
55 75
29 52
15 65
12 27
3 13
40 52
48 83
7 81
23 30
23 54
62 74
32 75
66 67
4 69
32 34
8 23
78 80
24 70
3 52
22 73
19 35
22 52
17 60
49 83
9 63
53 81
18 29
8 9
34 47
23 82
30 81
53 61
16 62
2 7
19 25
17 ...

output:

6
43 1 2 3 4 5 6 7 8 11 12 13 14 16 17 20 21 22 23 24 25 26 27 28 30 32 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 52 53 54
7 9 15 18 19 29 31 33
1 10
1 43
1 50
1 51
87
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 2...

result:

ok 1000 test cases (1000 test cases)

Test #9:

score: 0
Accepted
time: 149ms
memory: 126620kb

input:

500
92 109 51
59 76
18 43
28 63
11 75
63 106
44 59
39 49
34 37
53 75
16 36
50 101
41 60
22 23
89 101
30 88
85 92
72 102
3 44
81 90
30 85
23 31
62 83
51 63
77 78
53 92
58 95
37 97
72 99
68 88
59 78
32 104
68 102
40 62
26 30
101 109
55 94
31 98
25 80
55 56
38 106
53 56
23 91
5 97
4 92
2 92
21 36
38 73...

output:

89
2 1 13
1 2
1 3
1 4
1 5
1 6
1 7
1 8
2 9 14
1 10
1 11
1 12
1 15
1 16
2 17 22
1 18
1 19
1 20
1 21
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
1 62
1 ...

result:

ok 500 test cases (500 test cases)

Test #10:

score: 0
Accepted
time: 125ms
memory: 127776kb

input:

200
317 107 98
45 59
17 106
48 89
10 53
9 84
1 60
74 93
32 79
66 91
76 89
19 31
38 89
15 68
15 46
25 52
20 30
32 92
46 86
75 98
65 66
36 61
44 89
19 39
14 24
40 54
25 39
42 51
10 107
13 76
10 34
41 69
6 14
49 66
12 98
6 93
43 83
50 75
26 29
35 37
19 78
26 45
48 81
87 104
40 42
101 105
23 48
29 100
5...

output:

103
30 1 2 3 4 5 7 11 17 31 38 42 66 67 76 78 82 84 94 108 133 138 151 174 201 228 244 245 246 276 312
20 6 10 28 54 56 59 62 64 83 90 113 115 143 148 162 167 199 211 292 298
16 8 14 29 34 49 53 77 116 137 178 187 190 222 225 254 290
19 9 19 22 25 57 69 70 93 124 149 194 196 207 219 227 257 268 286 ...

result:

ok 200 test cases (200 test cases)

Test #11:

score: 0
Accepted
time: 161ms
memory: 127656kb

input:

100
121 451 775
4 424
238 297
74 370
59 244
17 182
151 421
104 277
149 154
135 381
289 451
177 257
69 79
255 315
108 351
42 266
79 117
47 365
105 350
124 393
226 260
11 101
203 279
93 174
316 352
144 332
111 404
44 333
195 237
43 72
70 112
29 446
5 36
31 262
367 370
252 260
10 212
57 423
84 129
10 2...

output:

16
19 1 3 9 11 20 30 34 38 43 45 46 59 69 71 76 80 81 99 116
51 2 4 5 6 7 8 10 12 13 14 15 16 19 24 26 27 28 32 33 36 37 41 42 44 47 51 52 53 54 55 56 58 61 64 66 68 72 83 85 87 88 101 102 103 105 106 108 109 112 113 118
7 17 18 48 49 86 91 119
11 21 23 29 60 84 89 90 93 95 104 121
2 22 77
10 25 31 ...

result:

ok 100 test cases (100 test cases)

Test #12:

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

input:

50
366 363 871
115 305
7 148
47 163
103 291
24 130
83 328
105 169
109 356
116 155
58 324
195 213
114 341
20 154
9 272
66 204
2 175
62 221
208 295
69 82
15 49
82 269
172 257
27 325
116 347
103 290
131 312
105 269
25 43
238 247
66 184
126 246
93 241
66 123
114 154
150 300
3 245
43 130
53 162
313 337
1...

output:

2
355 1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 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 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 101 102 10...

result:

ok 50 test cases (50 test cases)

Test #13:

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

input:

20
3609 4008 837
2049 2213
500 2782
981 1104
2910 3700
2996 3942
177 2513
1166 3745
1394 2249
203 3592
638 3271
616 1096
805 3419
797 2862
587 2798
1880 2098
786 878
2399 2499
532 2567
2748 3963
1934 3353
506 1599
71 2935
512 3177
62 3844
1666 3590
664 3581
283 3555
579 1354
1601 2363
412 1206
1615 ...

output:

3609
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61...

result:

ok 20 test cases (20 test cases)

Test #14:

score: 0
Accepted
time: 216ms
memory: 134324kb

input:

10
9915 1990 542
778 1095
530 538
967 1940
57 1069
669 1767
326 1155
508 1531
41 1676
639 1499
712 1271
979 1376
525 1350
648 1659
653 874
984 1767
175 774
1004 1477
304 657
535 568
1126 1597
201 780
681 989
1090 1189
824 1937
1124 1609
213 1238
984 989
446 870
868 955
480 1644
314 1045
181 1308
103...

output:

9912
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61...

result:

ok 10 test cases (10 test cases)

Test #15:

score: 0
Accepted
time: 196ms
memory: 147848kb

input:

5
2967 17745 19851
10948 16107
4858 14846
3325 7313
2397 4344
10335 11714
1484 1580
3502 12410
12342 16272
9921 11976
6289 6519
9732 15873
960 16079
1993 2798
13211 17278
682 13575
2820 10492
5601 7665
557 5400
650 3869
2979 10428
3159 11311
6899 13508
8963 9837
9977 15458
462 2338
323 12439
7351 13...

output:

850
179 1 2 3 4 11 12 14 15 30 32 42 44 53 58 73 89 116 118 135 144 154 155 157 173 177 203 216 234 248 251 257 273 302 304 308 309 311 319 322 323 327 333 345 403 419 421 431 450 463 466 476 501 502 521 581 590 612 613 618 625 634 649 663 687 700 724 728 732 734 736 742 745 748 765 784 807 825 840 ...

result:

ok 5 test cases (5 test cases)

Test #16:

score: 0
Accepted
time: 353ms
memory: 165720kb

input:

2
44670 24444 44531
2231 13814
3020 7883
8780 13081
14706 18191
15483 15645
736 2335
4181 8023
16113 16128
1852 2346
6807 18822
2729 3872
5806 12065
1365 22933
5238 20511
8763 9658
12271 17543
6159 21137
9149 22354
9572 19086
6656 13372
14682 17845
8766 13103
561 10225
146 2015
14376 16911
11500 168...

output:

1932
20991 1 2 3 4 5 7 8 9 10 11 12 13 16 18 19 20 22 23 24 25 27 28 29 30 33 37 39 41 42 44 45 46 47 48 50 51 52 53 55 56 57 58 60 61 62 63 66 67 68 69 70 71 73 74 75 76 78 80 81 82 86 87 89 90 91 92 93 94 95 98 99 100 101 102 103 105 106 107 112 113 114 115 117 118 119 121 122 125 126 127 128 131 ...

result:

ok 2 test cases (2 test cases)

Test #17:

score: 0
Accepted
time: 437ms
memory: 179052kb

input:

1
60780 74010 60615
5913 38347
61614 63118
30437 50526
29834 34044
23551 28539
7992 31743
25554 64954
32405 55326
2977 59970
65356 66572
16822 28165
18082 48449
13853 16034
9923 16249
23496 44883
10095 12189
24327 51156
14432 52807
12478 48435
177 33873
34488 35796
45947 61183
15625 42990
5138 55573...

output:

33931
231 1 2 3 4 5 7 10 28 46 50 76 99 121 179 183 212 277 278 294 296 304 327 385 395 498 524 586 616 652 740 789 821 973 1003 1054 1258 1286 1296 1373 1449 1536 1601 1604 1708 1820 1883 1921 1953 2200 2321 2366 2414 2662 2793 2845 2907 2912 3065 3156 3180 3197 3253 3376 3407 3719 3823 4259 4281 4...

result:

ok 1 test cases (1 test case)

Test #18:

score: 0
Accepted
time: 692ms
memory: 218100kb

input:

1
100000 100000 100000
82293 84993
13580 99080
75196 77296
37184 55180
20180 39717
40787 90213
2609 10289
42228 78352
34697 75497
37335 54521
30130 96372
38307 83217
47643 59250
44707 61880
61497 87838
21320 59185
6692 41427
25040 58136
1093 94374
15844 83475
39458 61209
19277 71639
12487 50785
6585...

output:

36649
378 1 3 43 65 86 241 483 514 573 580 598 673 710 935 963 1130 1173 1402 1418 1421 1460 1663 1885 1969 2204 2349 2483 2512 2842 3034 3128 3266 3615 3624 4210 4593 4744 4814 5236 5649 5776 5827 5852 5894 6055 6106 6499 6553 6666 6732 6762 6796 7038 7285 7545 8056 8243 8352 8420 8474 8517 8802 88...

result:

ok 1 test cases (1 test case)