提出 #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 | ||||
結果 |
|
|
セット名 | テストケース |
---|---|
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 |