CSES - APIO 2014 - Results
Submission details
Task:Beads and wires
Sender:Olli
Submission time:2019-03-24 16:24:09 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
Test results
testverdicttimegroup
#10.02 s1, 2, 3, 4details
#20.02 s1, 2, 3, 4details
#30.02 s1, 2, 3, 4details
#40.02 s1, 2, 3, 4details
#50.01 s1, 2, 3, 4details
#60.02 s1, 2, 3, 4details
#70.03 s1, 2, 3, 4details
#80.02 s1, 2, 3, 4details
#90.02 s1, 2, 3, 4details
#100.01 s1, 2, 3, 4details
#110.02 s1, 2, 3, 4details
#120.02 s1, 2, 3, 4details
#130.03 s2, 3, 4details
#140.02 s2, 3, 4details
#150.04 s2, 3, 4details
#160.03 s2, 3, 4details
#170.03 s2, 3, 4details
#180.03 s2, 3, 4details
#190.02 s2, 3, 4details
#200.02 s2, 3, 4details
#210.02 s2, 3, 4details
#220.03 s2, 3, 4details
#230.03 s3, 4details
#240.03 s3, 4details
#250.02 s3, 4details
#260.03 s3, 4details
#270.04 s3, 4details
#280.04 s3, 4details
#290.04 s3, 4details
#300.04 s3, 4details
#310.04 s3, 4details
#320.09 s4details
#330.09 s4details
#340.09 s4details
#350.03 s4details
#360.02 s4details
#370.02 s4details
#380.03 s4details
#390.03 s4details
#400.02 s4details
#410.02 s4details

Compiler report

input/code.cpp: In function 'void dfs(int)':
input/code.cpp:26:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int j = 0; j < chi[i].size(); ++j) {
                 ~~^~~~~~~~~~~~~~~
input/code.cpp:36:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(ll j = 0; j < lis[i].size(); ++j) {
                ~~^~~~~~~~~~~~~~~

Code

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

const int N = 1e5 + 5;

typedef long long ll;

int p[N];
vector<int> chi[N];

ll pri[N];
ll le[N];
ll d[N];
vector<int> lis[N];
ll ans = 0;
ll budg;
bool z[N];

void dfs(int i) {
	if(z[i]) return;
	z[i] = true;
	lis[i].push_back(pri[i]);
	for(int j = 0; j < chi[i].size(); ++j) {
		dfs(chi[i][j]);
		for(auto k : lis[chi[i][j]]) {
			lis[i].push_back(k);
		}
	}

	sort(lis[i].begin(), lis[i].end());

	ll su = 0;
	for(ll j = 0; j < lis[i].size(); ++j) {
		su += lis[i][j];
		if(su > budg) {
			ans = max(ans, j*le[i]);
			return;
		}
	}
	ans = max(ans, (ll) lis[i].size() * le[i]);
}


int main() {
	ll n, m;
	cin >> n >> m;
	budg = m;
	for(int i = 1; i <= n; ++i) {
		ll b, c, l;
		cin >> b >> c >> l;
		p[i] = b;
		chi[b].push_back(i);
		pri[i] = c;
		le[i] = l;
	}
	dfs(1);
	cout << ans << "\n";
}

Test details

Test 1

Group: 1, 2, 3, 4

Verdict:

input
5
1 2 10
1 3 40
1 4 15
1 5 20

correct output
60

user output
0

Test 2

Group: 1, 2, 3, 4

Verdict:

input
10
4 10 2
1 2 21
1 3 13
6 7 1
...

correct output
140

user output
1

Test 3

Group: 1, 2, 3, 4

Verdict:

input
10
4 10 5
1 10 7
3 10 10
3 9 10
...

correct output
61

user output
0

Test 4

Group: 1, 2, 3, 4

Verdict:

input
10
7 10 1
2 7 3
6 7 5
1 9 5
...

correct output
30

user output
2

Test 5

Group: 1, 2, 3, 4

Verdict:

input
10
3 10 6
3 7 6
8 9 3
1 5 1
...

correct output
44

user output
0

Test 6

Group: 1, 2, 3, 4

Verdict:

input
10
5 6 9
2 3 5
1 10 8
4 5 9
...

correct output
62

user output
0

Test 7

Group: 1, 2, 3, 4

Verdict:

input
10
2 3 7
6 9 7
2 10 6
4 9 2
...

correct output
41

user output
0

Test 8

Group: 1, 2, 3, 4

Verdict:

input
10
7 9 1
3 5 9
1 6 3
5 9 3
...

correct output
53

user output
3

Test 9

Group: 1, 2, 3, 4

Verdict:

input
10
3 6 9
2 5 5
2 4 1
4 9 2
...

correct output
43

user output
0

Test 10

Group: 1, 2, 3, 4

Verdict:

input
10
2 3 4
4 8 9
1 8 2
2 4 6
...

correct output
39

user output
0

Test 11

Group: 1, 2, 3, 4

Verdict:

input
10
1 8 4
2 3 7
3 10 4
2 4 7
...

correct output
48

user output
0

Test 12

Group: 1, 2, 3, 4

Verdict:

input
10
8 9 7
2 3 8
2 6 5
2 9 1
...

correct output
35

user output
2

Test 13

Group: 2, 3, 4

Verdict:

input
100
48 93 4
12 87 1
27 72 10
3 43 2
...

correct output
441

user output
12

Test 14

Group: 2, 3, 4

Verdict:

input
100
38 97 8
26 29 9
62 73 7
13 62 8
...

correct output
498

user output
26

Test 15

Group: 2, 3, 4

Verdict:

input
100
13 54 5
7 94 5
9 39 7
52 53 8
...

correct output
460

user output
7

Test 16

Group: 2, 3, 4

Verdict:

input
200
147 182 33
101 186 14
7 66 10
73 180 33
...

correct output
4537

user output
101

Test 17

Group: 2, 3, 4

Verdict:

input
200
33 93 17
63 114 24
19 93 42
151 168 9
...

correct output
4605

user output
63

Test 18

Group: 2, 3, 4

Verdict:

input
200
25 94 45
143 166 19
24 103 16
133 200 43
...

correct output
4695

user output
0

Test 19

Group: 2, 3, 4

Verdict:

input
200
74 191 24
74 171 19
2 74 50
27 74 42
...

correct output
546

user output
74

Test 20

Group: 2, 3, 4

Verdict:

input
200
98 200 12
12 87 47
19 98 31
9 87 14
...

correct output
233

user output
12

Test 21

Group: 2, 3, 4

Verdict:

input
200
47 130 8
25 47 15
47 172 33
6 47 45
...

correct output
1202

user output
25

Test 22

Group: 2, 3, 4

Verdict:

input
200
56 174 43
28 56 22
26 112 21
56 119 44
...

correct output
3349

user output
28

Test 23

Group: 3, 4

Verdict:

input
5000
2198 4992 964
2521 2711 961
3408 4585 975
2746 3304 974
...

correct output
3848169

user output
2521

Test 24

Group: 3, 4

Verdict:

input
5000
1926 2920 933
565 1093 993
1894 4373 930
1713 3978 916
...

correct output
3789162

user output
565

Test 25

Group: 3, 4

Verdict:

input
5000
2488 4286 905
898 3460 995
3342 4660 963
38 1300 971
...

correct output
3818444

user output
898

Test 26

Group: 3, 4

Verdict:

input
10000
2751 6467 4918
3158 3563 4945
3261 6833 4929
2955 6313 4923
...

correct output
40189502

user output
0

Test 27

Group: 3, 4

Verdict:

input
10000
2180 7493 4923
5745 9205 4949
446 7909 4938
2787 8203 4921
...

correct output
40070133

user output
0

Test 28

Group: 3, 4

Verdict:

input
10000
3748 4584 4926
3748 7419 4990
1194 3748 4924
3748 6181 4996
...

correct output
3991669

user output
0

Test 29

Group: 3, 4

Verdict:

input
10000
1070 4104 4988
2982 3086 4963
7216 8547 4971
1070 7973 4941
...

correct output
29901

user output
0

Test 30

Group: 3, 4

Verdict:

input
10000
7902 8933 4901
3764 6085 4995
1621 3537 4934
4050 8356 4996
...

correct output
8971361

user output
3764

Test 31

Group: 3, 4

Verdict:

input
10000
3309 7441 4960
5499 9949 4978
339 5089 4928
4076 7951 4916
...

correct output
29562255

user output
0

Test 32

Group: 4

Verdict:

input
50000
22758 25880 990
917 25140 901
10537 30620 913
10368 14209 993
...

correct output
38479584

user output
917

Test 33

Group: 4

Verdict:

input
50000
3238 13619 998
16363 38824 982
27886 39526 947
11705 35966 934
...

correct output
38503542

user output
16363

Test 34

Group: 4

Verdict:

input
50000
35799 44598 957
11590 25577 939
4784 35538 999
5004 9994 968
...

correct output
38465202

user output
11590

Test 35

Group: 4

Verdict:

input
200000
30736 178178 9996
90079 171554 9980
25124 79152 9901
54905 96160 9925
...

correct output
1605459774

user output
(empty)

Test 36

Group: 4

Verdict:

input
200000
108342 138357 9984
110960 113525 9938
41108 45029 9990
55734 141188 9963
...

correct output
1607393503

user output
(empty)

Test 37

Group: 4

Verdict:

input
200000
126722 130360 9943
89278 168087 9902
119299 167497 9901
53594 131583 9919
...

correct output
1606037984

user output
(empty)

Test 38

Group: 4

Verdict:

input
200000
164755 181587 9909
108623 181587 9979
322 181587 9974
181138 181587 9946
...

correct output
160485772

user output
(empty)

Test 39

Group: 4

Verdict:

input
200000
27257 170181 9998
27257 46336 9911
64710 109131 9958
47607 164375 9999
...

correct output
59979

user output
(empty)

Test 40

Group: 4

Verdict:

input
200000
100383 177661 9902
29890 102857 9905
4153 102857 9990
42390 177661 9901
...

correct output
360716635

user output
(empty)

Test 41

Group: 4

Verdict:

input
200000
122137 172111 9908
53871 122137 9978
85117 168845 9993
3821 9227 9906
...

correct output
1183642659

user output
(empty)