QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#553747#5663. Tangle: A DAG for storing transactionsBongoCatEnjoyer#TL 1080ms458576kbC++201.4kb2024-09-08 19:19:572024-09-08 19:19:58

Judging History

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

  • [2024-09-08 19:19:58]
  • 评测
  • 测评结果:TL
  • 用时:1080ms
  • 内存:458576kb
  • [2024-09-08 19:19:57]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;

#define int long long
#define forn(i,n) for(int i = 0; i <(int)n; ++i)
#define vi vector<int>
#define debug(x)    cout << #x << " : " << x << endl;

const int MOD = 1000000007;
//const int MOD = 998244353;

void solve() {
    int n, th;
    cin >> n >> th;

    int par[n+5][2];
    int weight[n+5];
    set<int> s[n+5];
    forn(i, n+5) {
        s[i].insert(i);
    }
    memset(weight, 0, sizeof(weight));

    int totweight[n+5];
    memset(totweight, 0, sizeof(totweight));
    forn(i, n) {
        int x, y, z, w;
        cin >> x >> y >> z >> w;
        par[x][0] = y;
        par[x][1] = z;
        weight[x] = w;
    }

    for (int i = n + 1; i >= 2; i--) {
        s[par[i][0]].insert(s[i].begin(), s[i].end());
        s[par[i][1]].insert(s[i].begin(), s[i].end());
    }
    int tot = 0;

    for (int i = 2; i <= n + 1; i++) {
        for (auto p: s[i]) {
            totweight[i] += weight[p];
        }
    }

    for (int i = 2; i <= n + 1; i++) {
        if (totweight[i] >= th) {
            cout << i << ' ' << totweight[i] << endl;
            tot++;
        }
    }

    cout << tot << endl;
}

int32_t main()
{
    ios::sync_with_stdio(false); cin.tie(NULL);
    int tc = 1;
    // cin >> tc;
    while(tc--) {
        solve();
    }
    return 0;
}

详细

Test #1:

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

input:

6 12
2 0 1 3
3 0 2 2
4 1 2 1
5 2 3 3
6 3 4 4
7 3 5 5

output:

2 18
3 14
2

result:

ok 3 lines

Test #2:

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

input:

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

output:

2 51
3 25
4 50
5 26
7 21
9 35
6

result:

ok 7 lines

Test #3:

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

input:

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

output:

2 297
3 293
4 290
5 275
6 255
5

result:

ok 6 lines

Test #4:

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

input:

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

output:

2 303
3 210
4 296
5 270
6 252
9 225
10 221
12 222
14 201
9

result:

ok 10 lines

Test #5:

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

input:

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

output:

0

result:

ok single line: '0'

Test #6:

score: 0
Accepted
time: 1080ms
memory: 458576kb

input:

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

output:

2 18207
3 18198
4 18196
5 17811
6 18160
7 18147
8 18160
9 18108
10 18039
11 17672
12 17781
13 18035
14 15556
15 17938
16 18046
17 18138
18 17953
19 16110
20 18097
21 17976
22 18092
23 18113
24 18004
25 18001
26 17560
27 17707
28 17997
29 17998
30 16680
31 18085
32 17770
33 17680
34 17906
35 17902
36...

result:

ok 512 lines

Test #7:

score: -100
Time Limit Exceeded

input:

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

output:

2 29905
3 29901
4 29880
5 29856
6 29841
7 29854
8 29755
9 29866
10 29821
11 29433
12 29770
13 29808
14 29843
15 29727
16 29665
17 29838
18 29768
19 29717
20 29809
21 29657
22 29750
23 29700
24 29759
25 29755
26 29664
27 29671
28 29432
29 29680
30 29371
31 29498
32 29015
33 29701
34 29629
35 29650
36...

result: