Task: | Beads and wires |
Sender: | Yytsi |
Submission time: | 2019-03-24 19:12:58 +0200 |
Language: | C++ |
Status: | READY |
Result: | 28 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 13 |
#2 | ACCEPTED | 15 |
#3 | TIME LIMIT EXCEEDED | 0 |
#4 | TIME LIMIT EXCEEDED | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.02 s | 1, 2, 3, 4 | details |
#2 | ACCEPTED | 0.02 s | 1, 2, 3, 4 | details |
#3 | ACCEPTED | 0.02 s | 1, 2, 3, 4 | details |
#4 | ACCEPTED | 0.02 s | 1, 2, 3, 4 | details |
#5 | ACCEPTED | 0.03 s | 1, 2, 3, 4 | details |
#6 | ACCEPTED | 0.02 s | 1, 2, 3, 4 | details |
#7 | ACCEPTED | 0.02 s | 1, 2, 3, 4 | details |
#8 | ACCEPTED | 0.02 s | 1, 2, 3, 4 | details |
#9 | ACCEPTED | 0.02 s | 1, 2, 3, 4 | details |
#10 | ACCEPTED | 0.01 s | 1, 2, 3, 4 | details |
#11 | ACCEPTED | 0.01 s | 1, 2, 3, 4 | details |
#12 | ACCEPTED | 0.01 s | 1, 2, 3, 4 | details |
#13 | ACCEPTED | 0.01 s | 2, 3, 4 | details |
#14 | ACCEPTED | 0.01 s | 2, 3, 4 | details |
#15 | ACCEPTED | 0.01 s | 2, 3, 4 | details |
#16 | ACCEPTED | 0.03 s | 2, 3, 4 | details |
#17 | ACCEPTED | 0.01 s | 2, 3, 4 | details |
#18 | ACCEPTED | 0.03 s | 2, 3, 4 | details |
#19 | ACCEPTED | 0.01 s | 2, 3, 4 | details |
#20 | ACCEPTED | 0.02 s | 2, 3, 4 | details |
#21 | ACCEPTED | 0.03 s | 2, 3, 4 | details |
#22 | ACCEPTED | 0.02 s | 2, 3, 4 | details |
#23 | ACCEPTED | 0.69 s | 3, 4 | details |
#24 | ACCEPTED | 0.71 s | 3, 4 | details |
#25 | ACCEPTED | 0.68 s | 3, 4 | details |
#26 | TIME LIMIT EXCEEDED | -- | 3, 4 | details |
#27 | TIME LIMIT EXCEEDED | -- | 3, 4 | details |
#28 | TIME LIMIT EXCEEDED | -- | 3, 4 | details |
#29 | TIME LIMIT EXCEEDED | -- | 3, 4 | details |
#30 | TIME LIMIT EXCEEDED | -- | 3, 4 | details |
#31 | TIME LIMIT EXCEEDED | -- | 3, 4 | details |
#32 | RUNTIME ERROR | 0.02 s | 4 | details |
#33 | RUNTIME ERROR | 0.03 s | 4 | details |
#34 | RUNTIME ERROR | 0.02 s | 4 | details |
#35 | RUNTIME ERROR | 0.02 s | 4 | details |
#36 | RUNTIME ERROR | 0.02 s | 4 | details |
#37 | RUNTIME ERROR | 0.02 s | 4 | details |
#38 | RUNTIME ERROR | 0.02 s | 4 | details |
#39 | RUNTIME ERROR | 0.02 s | 4 | details |
#40 | RUNTIME ERROR | 0.01 s | 4 | details |
#41 | RUNTIME ERROR | 0.01 s | 4 | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:3:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] #define FOR(i, a, b) for (int i=a; i<(b); i++) ^ input/code.cpp:36:5: note: in expansion of macro 'FOR' FOR(j,0,p.size()) { ^~~ input/code.cpp:3:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] #define FOR(i, a, b) for (int i=a; i<(b); i++) ^ input/code.cpp:42:7: note: in expansion of macro 'FOR' FOR(i,0,adj[c].size()) { ^~~
Code
#include <bits/stdc++.h> using namespace std; #define FOR(i, a, b) for (int i=a; i<(b); i++) #define IO ios_base::sync_with_stdio(0); cin.tie(0) #define F first #define S second #define pb push_back typedef long long ll; typedef pair<int, int> pii; #define N 11000 vector<pii> adj[N]; int n; int dp[N][2]; int r[N]; int main() { IO; cin>>n; FOR(i,0,n-1) { int a,b,w; cin>>a>>b>>w; adj[a].pb({b, w}); adj[b].pb({a, w}); } int res = 0, ans=0; FOR(x,1,n+1) { if (adj[x].size() != 1) continue; // not leaf int sm = 0, cost = 0; vector<int> p; FOR(i,1,n+1) { r[i] = adj[i].size(); if (i != x) r[i]--; if (r[i] == 0) p.pb(i); } FOR(j,0,p.size()) { int c = p[j]; dp[c][0] = dp[c][1] = 0; // reset ans = -1e7; sm = 0; FOR(i,0,adj[c].size()) { int u = adj[c][i].F; int w = adj[c][i].S; if (r[u] == 0) { sm += max(dp[u][0], dp[u][1]); ans = max(ans, dp[u][1] + w - max(dp[u][0], dp[u][1])); continue; } cost = w; if (--r[u] == 0) p.pb(u); } // dp choices dp[c][0] = (sm + cost) + ans; dp[c][1] = sm; } res = max(res, dp[x][1]); } cout<<res<<"\n"; }
Test details
Test 1
Group: 1, 2, 3, 4
Verdict: ACCEPTED
input |
---|
5
1 2 10 1 3 40 1 4 15 1 5 20 |
correct output |
---|
60 |
user output |
---|
60 |
Test 2
Group: 1, 2, 3, 4
Verdict: ACCEPTED
input |
---|
10
4 10 2 1 2 21 1 3 13 6 7 1 ... |
correct output |
---|
140 |
user output |
---|
140 |
Test 3
Group: 1, 2, 3, 4
Verdict: ACCEPTED
input |
---|
10 4 10 5 1 10 7 3 10 10 3 9 10 ... |
correct output |
---|
61 |
user output |
---|
61 |
Test 4
Group: 1, 2, 3, 4
Verdict: ACCEPTED
input |
---|
10 7 10 1 2 7 3 6 7 5 1 9 5 ... |
correct output |
---|
30 |
user output |
---|
30 |
Test 5
Group: 1, 2, 3, 4
Verdict: ACCEPTED
input |
---|
10 3 10 6 3 7 6 8 9 3 1 5 1 ... |
correct output |
---|
44 |
user output |
---|
44 |
Test 6
Group: 1, 2, 3, 4
Verdict: ACCEPTED
input |
---|
10 5 6 9 2 3 5 1 10 8 4 5 9 ... |
correct output |
---|
62 |
user output |
---|
62 |
Test 7
Group: 1, 2, 3, 4
Verdict: ACCEPTED
input |
---|
10 2 3 7 6 9 7 2 10 6 4 9 2 ... |
correct output |
---|
41 |
user output |
---|
41 |
Test 8
Group: 1, 2, 3, 4
Verdict: ACCEPTED
input |
---|
10 7 9 1 3 5 9 1 6 3 5 9 3 ... |
correct output |
---|
53 |
user output |
---|
53 |
Test 9
Group: 1, 2, 3, 4
Verdict: ACCEPTED
input |
---|
10 3 6 9 2 5 5 2 4 1 4 9 2 ... |
correct output |
---|
43 |
user output |
---|
43 |
Test 10
Group: 1, 2, 3, 4
Verdict: ACCEPTED
input |
---|
10 2 3 4 4 8 9 1 8 2 2 4 6 ... |
correct output |
---|
39 |
user output |
---|
39 |
Test 11
Group: 1, 2, 3, 4
Verdict: ACCEPTED
input |
---|
10 1 8 4 2 3 7 3 10 4 2 4 7 ... |
correct output |
---|
48 |
user output |
---|
48 |
Test 12
Group: 1, 2, 3, 4
Verdict: ACCEPTED
input |
---|
10 8 9 7 2 3 8 2 6 5 2 9 1 ... |
correct output |
---|
35 |
user output |
---|
35 |
Test 13
Group: 2, 3, 4
Verdict: ACCEPTED
input |
---|
100 48 93 4 12 87 1 27 72 10 3 43 2 ... |
correct output |
---|
441 |
user output |
---|
441 |
Test 14
Group: 2, 3, 4
Verdict: ACCEPTED
input |
---|
100 38 97 8 26 29 9 62 73 7 13 62 8 ... |
correct output |
---|
498 |
user output |
---|
498 |
Test 15
Group: 2, 3, 4
Verdict: ACCEPTED
input |
---|
100 13 54 5 7 94 5 9 39 7 52 53 8 ... |
correct output |
---|
460 |
user output |
---|
460 |
Test 16
Group: 2, 3, 4
Verdict: ACCEPTED
input |
---|
200 147 182 33 101 186 14 7 66 10 73 180 33 ... |
correct output |
---|
4537 |
user output |
---|
4537 |
Test 17
Group: 2, 3, 4
Verdict: ACCEPTED
input |
---|
200 33 93 17 63 114 24 19 93 42 151 168 9 ... |
correct output |
---|
4605 |
user output |
---|
4605 |
Test 18
Group: 2, 3, 4
Verdict: ACCEPTED
input |
---|
200 25 94 45 143 166 19 24 103 16 133 200 43 ... |
correct output |
---|
4695 |
user output |
---|
4695 |
Test 19
Group: 2, 3, 4
Verdict: ACCEPTED
input |
---|
200 74 191 24 74 171 19 2 74 50 27 74 42 ... |
correct output |
---|
546 |
user output |
---|
546 |
Test 20
Group: 2, 3, 4
Verdict: ACCEPTED
input |
---|
200 98 200 12 12 87 47 19 98 31 9 87 14 ... |
correct output |
---|
233 |
user output |
---|
233 |
Test 21
Group: 2, 3, 4
Verdict: ACCEPTED
input |
---|
200 47 130 8 25 47 15 47 172 33 6 47 45 ... |
correct output |
---|
1202 |
user output |
---|
1202 |
Test 22
Group: 2, 3, 4
Verdict: ACCEPTED
input |
---|
200 56 174 43 28 56 22 26 112 21 56 119 44 ... |
correct output |
---|
3349 |
user output |
---|
3349 |
Test 23
Group: 3, 4
Verdict: ACCEPTED
input |
---|
5000 2198 4992 964 2521 2711 961 3408 4585 975 2746 3304 974 ... |
correct output |
---|
3848169 |
user output |
---|
3848169 |
Test 24
Group: 3, 4
Verdict: ACCEPTED
input |
---|
5000 1926 2920 933 565 1093 993 1894 4373 930 1713 3978 916 ... |
correct output |
---|
3789162 |
user output |
---|
3789162 |
Test 25
Group: 3, 4
Verdict: ACCEPTED
input |
---|
5000 2488 4286 905 898 3460 995 3342 4660 963 38 1300 971 ... |
correct output |
---|
3818444 |
user output |
---|
3818444 |
Test 26
Group: 3, 4
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 2751 6467 4918 3158 3563 4945 3261 6833 4929 2955 6313 4923 ... |
correct output |
---|
40189502 |
user output |
---|
(empty) |
Test 27
Group: 3, 4
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 2180 7493 4923 5745 9205 4949 446 7909 4938 2787 8203 4921 ... |
correct output |
---|
40070133 |
user output |
---|
(empty) |
Test 28
Group: 3, 4
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 3748 4584 4926 3748 7419 4990 1194 3748 4924 3748 6181 4996 ... |
correct output |
---|
3991669 |
user output |
---|
(empty) |
Test 29
Group: 3, 4
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 1070 4104 4988 2982 3086 4963 7216 8547 4971 1070 7973 4941 ... |
correct output |
---|
29901 |
user output |
---|
(empty) |
Test 30
Group: 3, 4
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 7902 8933 4901 3764 6085 4995 1621 3537 4934 4050 8356 4996 ... |
correct output |
---|
8971361 |
user output |
---|
(empty) |
Test 31
Group: 3, 4
Verdict: TIME LIMIT EXCEEDED
input |
---|
10000 3309 7441 4960 5499 9949 4978 339 5089 4928 4076 7951 4916 ... |
correct output |
---|
29562255 |
user output |
---|
(empty) |
Test 32
Group: 4
Verdict: RUNTIME ERROR
input |
---|
50000 22758 25880 990 917 25140 901 10537 30620 913 10368 14209 993 ... |
correct output |
---|
38479584 |
user output |
---|
(empty) |
Test 33
Group: 4
Verdict: RUNTIME ERROR
input |
---|
50000 3238 13619 998 16363 38824 982 27886 39526 947 11705 35966 934 ... |
correct output |
---|
38503542 |
user output |
---|
(empty) |
Test 34
Group: 4
Verdict: RUNTIME ERROR
input |
---|
50000 35799 44598 957 11590 25577 939 4784 35538 999 5004 9994 968 ... |
correct output |
---|
38465202 |
user output |
---|
(empty) |
Test 35
Group: 4
Verdict: RUNTIME ERROR
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: RUNTIME ERROR
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: RUNTIME ERROR
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: RUNTIME ERROR
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: RUNTIME ERROR
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: RUNTIME ERROR
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: RUNTIME ERROR
input |
---|
200000 122137 172111 9908 53871 122137 9978 85117 168845 9993 3821 9227 9906 ... |
correct output |
---|
1183642659 |
user output |
---|
(empty) |