| 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) |
