Submission #1379075
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define forn(i, x, n) for (int i = int(x); i <= int(n); ++i) #define for1(i, n, x) for (int i = int(n); i >= int(x); --i) #define F first #define S second #define pb push_back typedef long long ll; typedef pair <int, int> pii; typedef long double ld; typedef vector <ll> vi; const int N = 2e6 + 1; const ll INF = 1e18 + 9; const int B = 1e9 + 7; int n; int a[N], d[N]; vi g[N]; int c[N]; int dfs(int x, int p = -1) { if (g[x].size() == 1) { c[x] = 1; return a[x]; } ll s = 0, mx = 0; for (auto to : g[x]) if (to != p) { ll y = dfs(to, x); s += y, mx = max(mx, y); c[x] += c[to]; } if (c[x] == 1) { if (s != a[x]) { cout << "NO\n"; exit(0); } } else { if (s < a[x] || a[x] < s - a[x] || s < 2 * (s - a[x])) { cout << "NO\n"; exit(0); } if (mx > s - mx && (s - a[x]) > (s - mx)) { cout << "NO\n"; exit(0); } } return a[x] - (s - a[x]); } int main() { #ifdef black freopen("in", "r", stdin); #endif // black ios_base :: sync_with_stdio(0); cin.tie(0); cin >> n; forn(i, 1, n) cin >> a[i]; if (n == 2) { cout << (a[1] == a[2] ? "YES\n" : "NO\n"); return 0; } forn(i, 1, n - 1) { int f, t; cin >> f >> t; g[f].pb(t); g[t].pb(f); } queue <int> q; forn(i, 1, n) if (g[i].size() == 1) { d[i] = 1; q.push(i); } while (q.size()) { int x = q.front(); q.pop(); for (auto to : g[x]) { if (!d[to]) { d[to] = d[x] + 1; q.push(to); } } } int r = 1; forn(i, 2, n) if (d[r] < d[i]) r = i; cout << (dfs(r) == 0 ? "YES\n" : "NO\n"); return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Cleaning |
User | sancho |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 2070 Byte |
Status | AC |
Exec Time | 65 ms |
Memory | 58880 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt |
All | sample1.txt, sample2.txt, sample3.txt, in1.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in2.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in3.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in4.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in5.txt, in6.txt, in7.txt, in8.txt, in9.txt, sample1.txt, sample2.txt, sample3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in1.txt | AC | 65 ms | 55808 KB |
in10.txt | AC | 65 ms | 55808 KB |
in11.txt | AC | 64 ms | 58880 KB |
in12.txt | AC | 65 ms | 58880 KB |
in13.txt | AC | 60 ms | 58880 KB |
in14.txt | AC | 61 ms | 58880 KB |
in15.txt | AC | 17 ms | 51456 KB |
in16.txt | AC | 17 ms | 51456 KB |
in17.txt | AC | 17 ms | 51456 KB |
in18.txt | AC | 17 ms | 51456 KB |
in19.txt | AC | 62 ms | 55808 KB |
in2.txt | AC | 65 ms | 55808 KB |
in20.txt | AC | 61 ms | 55424 KB |
in21.txt | AC | 62 ms | 55424 KB |
in22.txt | AC | 62 ms | 55808 KB |
in23.txt | AC | 63 ms | 55808 KB |
in24.txt | AC | 62 ms | 55808 KB |
in25.txt | AC | 17 ms | 51456 KB |
in26.txt | AC | 63 ms | 55424 KB |
in27.txt | AC | 63 ms | 55424 KB |
in28.txt | AC | 17 ms | 51456 KB |
in29.txt | AC | 59 ms | 55424 KB |
in3.txt | AC | 64 ms | 55808 KB |
in30.txt | AC | 17 ms | 51456 KB |
in31.txt | AC | 62 ms | 55808 KB |
in32.txt | AC | 64 ms | 55808 KB |
in33.txt | AC | 64 ms | 55808 KB |
in34.txt | AC | 64 ms | 55808 KB |
in35.txt | AC | 64 ms | 55808 KB |
in36.txt | AC | 63 ms | 55808 KB |
in37.txt | AC | 17 ms | 51456 KB |
in38.txt | AC | 63 ms | 55808 KB |
in39.txt | AC | 64 ms | 55808 KB |
in4.txt | AC | 64 ms | 55808 KB |
in40.txt | AC | 64 ms | 55808 KB |
in41.txt | AC | 61 ms | 55808 KB |
in42.txt | AC | 65 ms | 55808 KB |
in43.txt | AC | 64 ms | 55808 KB |
in44.txt | AC | 63 ms | 55808 KB |
in45.txt | AC | 65 ms | 55808 KB |
in5.txt | AC | 65 ms | 55808 KB |
in6.txt | AC | 64 ms | 55808 KB |
in7.txt | AC | 59 ms | 55296 KB |
in8.txt | AC | 28 ms | 52480 KB |
in9.txt | AC | 64 ms | 55808 KB |
sample1.txt | AC | 17 ms | 51456 KB |
sample2.txt | AC | 17 ms | 51456 KB |
sample3.txt | AC | 17 ms | 51456 KB |