提出 #34047310


ソースコード 拡げる

#include <bits/stdc++.h>
#define pb push_back
#define ll long long
#define all(x) begin(x),end(x)
using namespace std;

const int n0=3e5+123;
const ll inf=1e18;
int n,d[n0];
vector<array<int,2>> g[n0];
vector<ll> dp[n0];
ll mx0[n0],mx1[n0];

void dfs(int v,int p) {
	ll def=0;
	vector<ll> vec;
	for(auto i:g[v]) {
		int to=i[0],w=i[1];
		if(to!=p) {
			dfs(to,v);
			def+=max(0ll,mx0[to]);
			vec.pb(max(0ll,mx1[to]+w-mx0[to]));
		}
	}
	sort(all(vec));reverse(all(vec));
	for(int i=0; i<=d[v]; i++) {
		if(i && i<=(int)vec.size()) {
			def+=vec[i-1];
		}
		dp[v][d[v]-i]=def;
	}
	for(int i=0; i<=d[v]; i++) {
		mx0[v]=max(mx0[v],dp[v][i]);
	}
	for(int i=1; i<=d[v]; i++) {
		mx1[v]=max(mx1[v],dp[v][i]);
	}
}

int main() {
	ios_base::sync_with_stdio(0);cin.tie(0);
	cin >> n;
	for(int i=1; i<=n; i++) {
		mx0[i]=mx1[i]=-inf;
		cin >> d[i];
		dp[i]=vector<ll>(d[i]+1,0);
	}
	for(int i=1; i<n; i++) {
		int x,y,z;cin >> x >> y >> z;g[x].pb({y,z});g[y].pb({x,z});
	}
	dfs(1,-1);
	cout << mx0[1];
}

提出情報

提出日時
問題 F - Select Edges
ユーザ alimq
言語 C++ (GCC 9.2.1)
得点 500
コード長 1048 Byte
結果 AC
実行時間 258 ms
メモリ 81252 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 500 / 500
結果
AC × 2
AC × 53
セット名 テストケース
Sample example0.txt, example1.txt
All 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, 044.txt, 045.txt, 046.txt, 047.txt, 048.txt, 049.txt, 050.txt, example0.txt, example1.txt
ケース名 結果 実行時間 メモリ
000.txt AC 22 ms 17600 KiB
001.txt AC 11 ms 17672 KiB
002.txt AC 13 ms 17620 KiB
003.txt AC 231 ms 45548 KiB
004.txt AC 215 ms 50280 KiB
005.txt AC 235 ms 50632 KiB
006.txt AC 246 ms 51400 KiB
007.txt AC 238 ms 51652 KiB
008.txt AC 240 ms 51856 KiB
009.txt AC 234 ms 51136 KiB
010.txt AC 224 ms 52336 KiB
011.txt AC 248 ms 81252 KiB
012.txt AC 247 ms 64684 KiB
013.txt AC 252 ms 72812 KiB
014.txt AC 246 ms 44132 KiB
015.txt AC 250 ms 44128 KiB
016.txt AC 252 ms 44048 KiB
017.txt AC 238 ms 45312 KiB
018.txt AC 229 ms 45556 KiB
019.txt AC 215 ms 44572 KiB
020.txt AC 240 ms 71012 KiB
021.txt AC 207 ms 42240 KiB
022.txt AC 105 ms 31020 KiB
023.txt AC 63 ms 25168 KiB
024.txt AC 165 ms 38332 KiB
025.txt AC 171 ms 38872 KiB
026.txt AC 232 ms 44508 KiB
027.txt AC 237 ms 44620 KiB
028.txt AC 252 ms 44616 KiB
029.txt AC 253 ms 44616 KiB
030.txt AC 252 ms 44512 KiB
031.txt AC 256 ms 44636 KiB
032.txt AC 249 ms 44776 KiB
033.txt AC 247 ms 44772 KiB
034.txt AC 245 ms 44684 KiB
035.txt AC 243 ms 44784 KiB
036.txt AC 242 ms 44684 KiB
037.txt AC 247 ms 44736 KiB
038.txt AC 248 ms 44652 KiB
039.txt AC 244 ms 44628 KiB
040.txt AC 246 ms 44788 KiB
041.txt AC 247 ms 52452 KiB
042.txt AC 242 ms 46548 KiB
043.txt AC 248 ms 46284 KiB
044.txt AC 247 ms 46368 KiB
045.txt AC 251 ms 46724 KiB
046.txt AC 253 ms 46580 KiB
047.txt AC 252 ms 46208 KiB
048.txt AC 254 ms 47564 KiB
049.txt AC 242 ms 46384 KiB
050.txt AC 258 ms 47404 KiB
example0.txt AC 15 ms 17668 KiB
example1.txt AC 16 ms 17508 KiB