Submission #286601
Source Code Expand
#include <iostream> #include <vector> #include <algorithm> #include <string> #include <sstream> #include <cstring> #include <cstdio> #include <cstdlib> #include <cmath> #include <queue> #include <stack> #include <map> #include <set> #include <numeric> #include <cctype> #include <tuple> #include <array> #include <climits> #include <bitset> #include <cassert> #include <random> // BEGIN CUT HERE #ifdef _MSC_VER #include <agents.h> #endif // END CUT HERE #define FOR(i, a, b) for(int i = (a); i < (int)(b); ++i) #define rep(i, n) FOR(i, 0, n) #define ALL(v) v.begin(), v.end() #define REV(v) v.rbegin(), v.rend() #define MEMSET(v, s) memset(v, s, sizeof(v)) #define UNIQUE(v) (v).erase(unique(ALL(v)), (v).end()) #define MP make_pair #define MT make_tuple using namespace std; typedef long long ll; typedef pair<int, int> P; int h[110]; int dp[110]; vector<int> G[110]; P dfs(int p, int v){ P res = MP(0, h[v]); for (auto nxt : G[v]){ if (nxt == p) continue; P tmp = dfs(v, nxt); if (tmp.second == 0) continue; res.first += tmp.first + 2; res.second = 1; } return res; } int main(){ cin.tie(0); ios::sync_with_stdio(false); int n, x; cin >> n >> x; --x; rep(i, n) cin >> h[i]; rep(i, n - 1){ int a, b; cin >> a >> b; --a, --b; G[a].push_back(b); G[b].push_back(a); } cout << dfs(-1, x).first << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - ツリーグラフ |
User | yuusti |
Language | C++11 (GCC 4.8.1) |
Score | 100 |
Code Size | 1436 Byte |
Status | AC |
Exec Time | 113 ms |
Memory | 932 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_sample_01.txt, subtask0_sample_02.txt |
All | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_line01.txt, subtask1_line02.txt, subtask1_line03.txt, subtask1_line04.txt, subtask1_line05.txt, subtask1_line06.txt, subtask1_random01.txt, subtask1_random02.txt, subtask1_random03.txt, subtask1_random04.txt, subtask1_random05.txt, subtask1_random06.txt, subtask1_random07.txt, subtask1_random08.txt, subtask1_special01.txt, subtask1_special02.txt, subtask1_special03.txt, subtask1_special04.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_sample_01.txt | AC | 22 ms | 912 KB |
subtask0_sample_02.txt | AC | 23 ms | 932 KB |
subtask1_line01.txt | AC | 23 ms | 924 KB |
subtask1_line02.txt | AC | 23 ms | 796 KB |
subtask1_line03.txt | AC | 23 ms | 728 KB |
subtask1_line04.txt | AC | 23 ms | 928 KB |
subtask1_line05.txt | AC | 113 ms | 756 KB |
subtask1_line06.txt | AC | 23 ms | 784 KB |
subtask1_random01.txt | AC | 22 ms | 924 KB |
subtask1_random02.txt | AC | 21 ms | 920 KB |
subtask1_random03.txt | AC | 21 ms | 928 KB |
subtask1_random04.txt | AC | 22 ms | 804 KB |
subtask1_random05.txt | AC | 23 ms | 760 KB |
subtask1_random06.txt | AC | 23 ms | 804 KB |
subtask1_random07.txt | AC | 23 ms | 804 KB |
subtask1_random08.txt | AC | 21 ms | 804 KB |
subtask1_special01.txt | AC | 21 ms | 800 KB |
subtask1_special02.txt | AC | 21 ms | 924 KB |
subtask1_special03.txt | AC | 23 ms | 932 KB |
subtask1_special04.txt | AC | 22 ms | 928 KB |