結果
問題 | No.899 γatheree |
ユーザー | shibamata |
提出日時 | 2019-10-04 23:27:40 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 5,515 bytes |
コンパイル時間 | 953 ms |
コンパイル使用メモリ | 98,480 KB |
実行使用メモリ | 34,784 KB |
最終ジャッジ日時 | 2024-10-03 09:18:31 |
合計ジャッジ時間 | 5,164 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | WA | - |
testcase_01 | WA | - |
testcase_02 | WA | - |
testcase_03 | WA | - |
testcase_04 | WA | - |
testcase_05 | WA | - |
testcase_06 | TLE | - |
testcase_07 | -- | - |
testcase_08 | -- | - |
testcase_09 | -- | - |
testcase_10 | -- | - |
testcase_11 | -- | - |
testcase_12 | -- | - |
testcase_13 | -- | - |
testcase_14 | -- | - |
testcase_15 | -- | - |
testcase_16 | -- | - |
testcase_17 | -- | - |
testcase_18 | -- | - |
testcase_19 | -- | - |
testcase_20 | -- | - |
testcase_21 | -- | - |
testcase_22 | -- | - |
testcase_23 | -- | - |
ソースコード
#include <algorithm> #include <bitset> #include <climits> #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #include <functional> #include <iostream> #include <queue> #include <set> #include <map> #include <stack> #include <string> #include <vector> /*@@@@@@@@@@@@@@@@@@@@O:8:O@@@@@@@@@c cCCCco@@@C o@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@8:88Cc@@@@@@C.cCCCCCCC:@O.CCCC:c@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@cC888:@@@@o.CCCCCCCCCCc cCCCCCCC:o@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@8:8888cO@o.CCCCCo:CCCCC:cCCCCCCCCCo.@@@@@@@@@@@@@@@Oc @@@@@@@@@@@@@@@@@@@@oo8888C :CCCCCCc.CCCCC:cCCCCCCCCCCCC.O@@@@@@@@@8c:C88 @@@@@@@@@@@@@@@@@@@@cO8888O:CCCCCCc.CCCCC:cCCCCCCCCCCCCCC:O@@@@@O:cO88888 @@@@@@@@@@@@@@@@@@@@:O88888:oCCCCo.CCCCCc:CCCccCCCCCCCCCCC:C@8:cO88888888 @@@@@@@@@@@@@@@@@@@8c888888ccCCCC.cCCCCo.oCCC::CCCCCCCCCCCC.:O888888888C. @@@@@@@@@@@@@@@@@@@Oc888888ocCCoc.CCCCC:cCCCoc.oCCCCCCCCc.C8888888888O:c@ @@@@@@@@@@@@@@@@@@8 c888888C:Coo:cCCCCo:CCCoo. oCCCCCCc:O8888888888Oc:@@@ @@@@@@@@@@@@@@@@@:coc888888C:ooo.oCCCC.oCCCoc.:coCCC:c88888888888Oc:8@@@@ @@@@@@@@@@@@@@@C:CCo:888888O:ooo.CCCCc:CCCoo.co.oo:c88888888888Oc.8@@@@@@ @@@@@@@@@@@@@@:oCCCC:O88888O:oo..CCCC.oCCCoc.CC..c8888888888OCc..@@@@@@@@ @@@@@@@@@@@@O.CCCC.. O888888:c.c:CCCc:CCCoo:cC::8888888888OCc.oCcc@@@@@@@ @@@@@@@@@@@C:CCCCco8oc888888.:C:cCCC.oCCCooc .O888888888Oo..CCCCC:O@@@@@@ @@@@@@@@@@ccCCCCCc:8O:O88888:.cooCo.oCCCCoo.C888888888o.cO8c:CCCCo:@@@@@@ @@@@@@@@@:cCCCCCCC.C8oo88888:oCCCc:CCCCCo::888888888C:88Oo.cCCCCCCcc@@@@@ @@@@@@@@:oCCCCCCCCc.O8888888:oCCo:CCCCCo.C88888888888OCc.cCCCCCCCCC:C@@@@ @@@@@@@:cCCCCCCCCooc.O88888O:CCCCCCCCCc:88888888888Oo:.oCCCCCCCCCCCo.:O@@ @@@@@@ccCCCCCCCooooo. oO888C:CCCCCCCC:o88888888OOC:. ooooCCCCCCCCCCC:oO:8 @@@@@ocCCCCCCCooooc.oo cCCC:cCCCCCCC.C88888OOCo: c88o.oooCCCCCCCCCCCC:O8o @@@@C:CCCCCCCoooo.:OO:oo.::.CCCCCCCc:OOOCCoc:.cCco888o:oooCCCCCCCCCCCcc88 @@@8.CCCCCCCCoo::O88C ..oCCCCCCCCCCCc.:::coCCCCCo:8888o.ooooCCCCCCCCCC:O8 @@@:oCCCCCCCoc.C8888o ..:CCCCCCCCCCCCCCCCc .: cCo.O8888o.oooCCCCCCCCCCcc8 @@C:CCCCCCCo.o888888o . :CCCCCCCCCCCCCCC. co c.co.o88888C.ooooCCCCCCCCo:O @8.oCCCCCC:o88888888C :CCCCCCCCCCCCCC: c.:o::O88888O.ooooCCCCCCCC:o ::cCCCCC.c88888888888:coCCCCCCCCCCCCCCC :.cc.ooc.O888888O:coooCCCCCCCcc 8:oCCc.o88888888888888:oCCoCCCCCCCCCCCo. .:oooo.oO8888888c:ooooCCCCCo: 8o..cO88888888888888888o::..oooooooooooooooooooo:cccC88888888C.oooooCCCC: 8888888888888888888888888c..cooooooo:oooooooc:cO@@O:CO888888888::ooooooC: 88888888888888888888888OCoCCC::ccc..:::....8@@@@@@@:oCO888888888C.cooooo: 888888888888888888888OCCCCo:::cccC@@8.:cco:@@@@@@@@C:CC88888888888O::coc. 888888888888888888OC::cc..c8888888OooooO8o.C@@@@@@@@:ooO8888888888888OOO8 888888888888888OOCcc88O:C:cc:C8888c CccC:o8O:ccoO@@@ccCoO8888888888888888 888888888888OCooCo:888:c.oCcco:O8:oo:Cc:o.C888888oc@8:CooO888888888888888 8888888OOCooCCoCCc:888C.:oo:co:CO:oo:oo.cO8888888Ooc@ccCCoO88888888888888 CCCCoooCCCCCCCCo:oCO8888c:oc::C88C.:oooO8888888OCoC:88:CCCoC88888888888*/ using namespace std; typedef long long ll; using gra = vector<vector<ll>>; typedef unsigned long long ull; template <class T> inline bool chmin(T &a, T b) { if (a > b) { a = b; return true; } return false; } template <class T> inline bool chmax(T &a, T b) { if (a < b) { a = b; return true; } return false; } template <class T> T gcd(T a, T b) { return b ? gcd(b, a % b) : a; } template <class T> T lcm(T a, T b) { return a / gcd(a, b) * b; } template <class T> T dup(T a, T b) { return (a + b - 1) / b; } template <class T> T modpow(T x, T p, T m) { T a=1; while(p){ if(p%2)a =a*x%m; x = x+x%m; p/=2; } return a; } // template <class T> void prim(T a) { for(ll i=0;i<a.size();++i) { cout << a[i]; } cout << "\n"; } #define mod 1000000007LL #define INF 10000000000000000LL #define rep(i, n) for (ll i = 0; i < n; ++i) #define rep1(i, n) for (int i = 1; i <= n; ++i) #define rrep(i, n) for (int i = (n - 1); i >= 0; --i) #define rrep1(i, n) for (int i = n; i > 0; --i) #define pri(x) cout << (x) << "\n" #define pri2(x, y) cout << (x) << " " << (y) << "\n" #define pri3(x, y, z) cout << (x) << " " << (y) << " " << (z) << "\n" //#define modpow(x, p, m) { ll a=1; while(p){ if(p%2)a =a*x%m; x = x+x%m; p/=2; } return a; } #define m0(h) memset(h, 0, sizeof(h)) #define m1(h) memset(h, 1, sizeof(h)) #define m(h, n) memset(h, (n), sizeof(h)) #define all(n) (n).begin(),(n).end() #define bit(n) (1LL << (n)) #define pb push_back //#ifdef LOCAL // //#define dpri(...) fprintf(stderr, __VA_ARGS__) //#define pria(g) rep(i,g.size()){ cout << i << "{"; rep(j,g[i].size()) cout << g[i][j] << " "; cout << "}" << "\n"; } //#else //#define dpri(...) 42 //#define pria(g) 42 //#endif int main() { ios::sync_with_stdio(false); cin.tie(0); // --------------------- // コーディング開始 // --------------------- ll n; cin >> n; vector<vector<ll>> tree(n); ll u,v; rep(i,n-1){ cin >> u >> v; tree[u].push_back(v); tree[v].push_back(u); } ll po[n]; rep(i,n){ cin >> u; po[i]=u; } vector<ll> seen(n); function<void(gra, ll,ll)> dfs = [&](const gra &g, ll v,ll s) { seen[v]=s; for(auto next_v:g[v]){ if(seen[next_v]<=s||s>=2)continue; dfs(g,next_v,s+1); } }; ll q,x; cin >> q; rep(j,q){ cin >> x; rep(k,n){ seen[k]=INF; } dfs(tree,x,0); ll ans =0; rep(i,n){ if(seen[i]<3){ ans+=po[i]; } } pri(ans); } return 0; }