Submission #298749

# Submission time Handle Problem Language Result Execution time Memory
298749 2020-09-14T00:14:01 Z errorgorn Beads and wires (APIO14_beads) C++14
28 / 100
1000 ms 8824 KB
//雪花飄飄北風嘯嘯
//天地一片蒼茫

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/rope>
using namespace std;
using namespace __gnu_pbds;
using namespace __gnu_cxx;
#define ll long long
#define ii pair<ll,ll>
#define iii pair<ii,ll>
#define fi first
#define se second
#define endl '\n'
#define debug(x) cout << #x << " is " << x << endl

#define rep(x,start,end) for(auto x=(start)-((start)>(end));x!=(end)-((start)>(end));((start)<(end)?x++:x--))
#define all(x) (x).begin(),(x).end()
#define sz(x) (int)(x).size()

#define indexed_set tree<ll,null_type,less<ll>,rb_tree_tag,tree_order_statistics_node_update>
//change less to less_equal for non distinct pbds, but erase will bug

mt19937 rng(chrono::system_clock::now().time_since_epoch().count());

int n;
vector<ii> al[200005];
map<ii,int> memo[2];

int dp(int i,int p,int flag){
	if (memo[flag].count(ii(i,p))) return memo[flag][ii(i,p)];
	
	ll total=0;
	vector<int> v={(int)-1e9};
	for (auto &it:al[i]){
		if (it.fi==p) continue;
		
		ll temp0=dp(it.fi,i,0);
		ll temp1=dp(it.fi,i,1);
		ll val=max(temp0,temp1+it.se);
		
		total+=val;
		v.push_back(temp0+it.se-val);
	}
	
	if (flag){
		sort(all(v));
		total+=v.back();
	}
	
	return memo[flag][ii(i,p)]=total;
}

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin.exceptions(ios::badbit | ios::failbit);
	
	cin>>n;
	
	int a,b,c;
	rep(x,1,n){
		cin>>a>>b>>c;
		
		al[a].push_back(ii(b,c));
		al[b].push_back(ii(a,c));
	}
	
	int ans=0;
	rep(x,1,n+1) ans=max(ans,dp(x,-1,0));
	
	cout<<ans<<endl;
}
# Verdict Execution time Memory Grader output
1 Correct 4 ms 4992 KB Output is correct
2 Correct 4 ms 4992 KB Output is correct
3 Correct 4 ms 4992 KB Output is correct
4 Correct 4 ms 4992 KB Output is correct
5 Correct 5 ms 4992 KB Output is correct
6 Correct 4 ms 4992 KB Output is correct
7 Correct 4 ms 4992 KB Output is correct
8 Correct 4 ms 4992 KB Output is correct
9 Correct 4 ms 4992 KB Output is correct
10 Correct 4 ms 4992 KB Output is correct
11 Correct 4 ms 4992 KB Output is correct
12 Correct 4 ms 4992 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 4992 KB Output is correct
2 Correct 4 ms 4992 KB Output is correct
3 Correct 4 ms 4992 KB Output is correct
4 Correct 4 ms 4992 KB Output is correct
5 Correct 5 ms 4992 KB Output is correct
6 Correct 4 ms 4992 KB Output is correct
7 Correct 4 ms 4992 KB Output is correct
8 Correct 4 ms 4992 KB Output is correct
9 Correct 4 ms 4992 KB Output is correct
10 Correct 4 ms 4992 KB Output is correct
11 Correct 4 ms 4992 KB Output is correct
12 Correct 4 ms 4992 KB Output is correct
13 Correct 4 ms 5120 KB Output is correct
14 Correct 5 ms 5248 KB Output is correct
15 Correct 4 ms 5120 KB Output is correct
16 Correct 5 ms 5120 KB Output is correct
17 Correct 5 ms 5120 KB Output is correct
18 Correct 5 ms 5120 KB Output is correct
19 Correct 18 ms 5120 KB Output is correct
20 Correct 10 ms 5152 KB Output is correct
21 Correct 13 ms 5120 KB Output is correct
22 Correct 8 ms 5120 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 4992 KB Output is correct
2 Correct 4 ms 4992 KB Output is correct
3 Correct 4 ms 4992 KB Output is correct
4 Correct 4 ms 4992 KB Output is correct
5 Correct 5 ms 4992 KB Output is correct
6 Correct 4 ms 4992 KB Output is correct
7 Correct 4 ms 4992 KB Output is correct
8 Correct 4 ms 4992 KB Output is correct
9 Correct 4 ms 4992 KB Output is correct
10 Correct 4 ms 4992 KB Output is correct
11 Correct 4 ms 4992 KB Output is correct
12 Correct 4 ms 4992 KB Output is correct
13 Correct 4 ms 5120 KB Output is correct
14 Correct 5 ms 5248 KB Output is correct
15 Correct 4 ms 5120 KB Output is correct
16 Correct 5 ms 5120 KB Output is correct
17 Correct 5 ms 5120 KB Output is correct
18 Correct 5 ms 5120 KB Output is correct
19 Correct 18 ms 5120 KB Output is correct
20 Correct 10 ms 5152 KB Output is correct
21 Correct 13 ms 5120 KB Output is correct
22 Correct 8 ms 5120 KB Output is correct
23 Correct 37 ms 6904 KB Output is correct
24 Correct 37 ms 7032 KB Output is correct
25 Correct 38 ms 6904 KB Output is correct
26 Correct 78 ms 8824 KB Output is correct
27 Correct 77 ms 8824 KB Output is correct
28 Execution timed out 1057 ms 7604 KB Time limit exceeded
29 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 4 ms 4992 KB Output is correct
2 Correct 4 ms 4992 KB Output is correct
3 Correct 4 ms 4992 KB Output is correct
4 Correct 4 ms 4992 KB Output is correct
5 Correct 5 ms 4992 KB Output is correct
6 Correct 4 ms 4992 KB Output is correct
7 Correct 4 ms 4992 KB Output is correct
8 Correct 4 ms 4992 KB Output is correct
9 Correct 4 ms 4992 KB Output is correct
10 Correct 4 ms 4992 KB Output is correct
11 Correct 4 ms 4992 KB Output is correct
12 Correct 4 ms 4992 KB Output is correct
13 Correct 4 ms 5120 KB Output is correct
14 Correct 5 ms 5248 KB Output is correct
15 Correct 4 ms 5120 KB Output is correct
16 Correct 5 ms 5120 KB Output is correct
17 Correct 5 ms 5120 KB Output is correct
18 Correct 5 ms 5120 KB Output is correct
19 Correct 18 ms 5120 KB Output is correct
20 Correct 10 ms 5152 KB Output is correct
21 Correct 13 ms 5120 KB Output is correct
22 Correct 8 ms 5120 KB Output is correct
23 Correct 37 ms 6904 KB Output is correct
24 Correct 37 ms 7032 KB Output is correct
25 Correct 38 ms 6904 KB Output is correct
26 Correct 78 ms 8824 KB Output is correct
27 Correct 77 ms 8824 KB Output is correct
28 Execution timed out 1057 ms 7604 KB Time limit exceeded
29 Halted 0 ms 0 KB -